10

我正在使用 Qt 4.8.x,因此我无法connect从 Qt5 访问新界面,但我希望在信号/插槽连接失败时收到更好的警报,因为我拼错了信号或插槽名称。

目前,Qt 所做的只是在尝试连接时吐出一条错误消息。但是,我的程序有很多输出,stdout所以有时很容易错过这些错误。当连接语句失败时,是否可以通过断言、段错误或其他方法强制我的应用程序崩溃?

4

2 回答 2

9

是:将QT_FATAL_WARNINGS环境变量设置为非零值。

您可以在 Qt Creator 的开发过程中执行此操作,方法是转到“项目”窗格,单击“运行”,然后在“运行环境”下单击“详细信息”,然后单击“添加”。

编辑添加:你当然也可以为 QObject::connect 实现一些包装器,这将检查它的返回值和 assert() 如果它返回 false。

于 2013-06-27T20:50:56.823 回答
4

我认为这个问题中至少有一个解决方案:Qt GUI app: warning if QObject::connect() failed? 做你需要的。

特别是,通过使用,QErrorMessage::qtHandler您应该能够拦截这些警告并对它们做任何您想做的事情。

于 2013-06-27T20:52:05.153 回答