【发布时间】:2017-10-09 23:20:21
【问题描述】:
我正在为派生自QWidget 的类编写基于QTest 的测试用例。
显示小部件后,我希望测试在小部件关闭后立即结束。
我的第一次尝试是使用QSignalSpy,结果发现QWidget确实没有在close()上发出信号。
那么使用QTest 原语执行此操作的“正确方法”是什么?
【问题讨论】:
标签: c++ qt qt5 qtestlib qsignalspy
我正在为派生自QWidget 的类编写基于QTest 的测试用例。
显示小部件后,我希望测试在小部件关闭后立即结束。
我的第一次尝试是使用QSignalSpy,结果发现QWidget确实没有在close()上发出信号。
那么使用QTest 原语执行此操作的“正确方法”是什么?
【问题讨论】:
标签: c++ qt qt5 qtestlib qsignalspy
如果您为小部件设置specify Qt::WA_DeleteOnClose 属性并等待其destroyed() 信号怎么办?
pMyTestWidget->setAttribute(Qt::WA_DeleteOnClose);
pMyTestWidget->show();
// test thread...
QSignalSpy watchDog(pMyTestWidget, SIGNAL(destroyed(QObject*)));
watchDog.wait();
【讨论】: