在Qt编程,特别是通过写代码的方式实现各种界面的时候,冷不防就会出现类似下面的报错:

Unable to set geometry 46x30+480+190 on QWidgetWindow/'QPushButtonClassWindow'. Resulting geometry: 116x30+480+190 (frame: 8, 30, 8, 8, custom margin: 0, 0, 0, 0, minimum size: 0x30, maximum size: 16777215x16777215).

刚好本人最近也遇到一个类似问题,这里分享下解决方案,便于自己学习也方便有需要的人借鉴。

发生这样的错的时候,目前我发现一种原因:

1)对于一个new出来的控件,在未加入布局前设置为不可见(setVisible(false))。

2)在父窗体未设置大小时,给子控件设置大小;

PS.出现这种问题的原因多种多样,大家有其它发现欢迎留言,我将汇总。

博主,自己的程序突然报了一种错误如下 set Geometry : Unable to set geometry 1420x1421+8+31 on QWidget Window /'Main Window Window '. Resulting geometry : 1420x1181+8+31 (frame: 8, 31, 8, 8, custom margin: 0, 0, 0, 0, minimum size: 1376x1072, maximum size: 16777215x16777215). 解决 方案 由于子窗口和父窗口的大小关系不健康,导致父窗口resize失败,失败后会自定义大小 解决 方法: 首先,修改父窗口尺寸,保证其大小可以容纳子部件,可以使用 set FixSize()之类的函数修改父窗口尺寸。 其次,一定要保证修改父窗口尺寸的函数是放在窗口布局代码之前,如图,我的 set Interface()函数内是对窗口布局,若this-> set FixSize(QSize(1200,800));函数在 set Interface()后面,则还是会报这个错误,只需要将函数位置换一下即可 在 qt 5.9.5 qt Creator上使用QInputdialog一直报警 set Geometry : Unable to set geometry 120x30+1179+658 在 qt forum上找到了答案。 设置其他Flag,可消除报警,如下: QString text = QInputDialog::getText(this, tr(" Set ting"), tr("Please input password:"), QLineEdit::Password, "", &ok, Qt ::MS.. set Geometry Dp: Unable to set geometry 200x100+1459+-799 on QWidget Window /'Main Window Class Window '. Resulting geometry : 236x100+1459+-799 (frame: 13, 58, 13, 13, custom margin: 0, 0, 0, 0, minimum ... 今天调界面使用 set FixedSize报错:Q Window s Window :: set Geometry : Unable to set geometry 1920x1080+0+0 on QWidget Window /'CbAppParentWidgetClass Window '. Resulting geometry : 3840x1080+0+0 (frame: 0, 0, 0, 0, custom m... 在 window s下编译出现了下面这些警告,u bu ntu下好像不会出现这个 set Geometry : Unable to set geometry 1080x1920+8+30 on QWidget Window /'Callnumber Window '. Resulting geometry : 1080x750+8+30 (frame: 8, 30, 8, 8, custom margin: 0, 0... set Geometry : Unable to set geometry 1730x1107+95+38 on QWidget Window /‘WaveAnalysis Window ’. Resulting geometry : 1730x1055+95+38 (frame: 9, 38, 9, 9, custom margin: 0, 0, 0, 0, minimum size: 0x0, maximum size: 16777215x16777215). thread_collect_done in “202 在使用Dialog对话框时,虽然成功弹出了对话框,但是每次都会出现以下提示信息: set Geometry : Unable to set geometry 152x30+851+462 on QWidget Window /'QInputDialogClass Window '. Resulting geometry : 219x107+851+462 (frame: 9, 38, 9, 9, custom...