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

本文记录了一个基于Qt的应用程序在尝试显示窗口时遇到的问题及解决方案。作者按照《C++GuiQt4编程》一书中的例子逐步实现sortDialog,但在运行时无法显示窗口并异常退出。通过调试发现布局未正确设置,最终在Qt Designer中为对话框设置了网格布局解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译环境:

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)

重新编译,问题解决。

附图:


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值