Qt中layout()->setSizeConstraint(QLayout::SetFixedSize);崩溃的问题

编译环境:

win764位,vs2008编译器,cbd调试器,qt4.8

背景:

按照《C++ Gui Qt4编程》书中第二章的一个例子(sortDialog)一步步抄完,编译运行,显示不了窗口,然后程序异常退出了(退出码  -1073741819)。

解决:

使用调试器调试找到问题代码: layout()->setSizeConstraint(QLayout::SetFixedSize);

发现 layout()这里是0,也就是没有获取到布局。明明有布局怎么会没有获取到呢,baidu一下,这个问题有不少人出现过,没找到什么解决方式。

回到qt designer,意外发现有一项是设置整个对话框窗口的布局(选中对画框,从 Lay out菜单中选择 Lay Out in a Grid)

重新编译,问题解决。

附图:

原文地址:https://www.cnblogs.com/senior-engineer/p/8532301.html