0
我正在编写一个测试应用程序,测试显示的窗体是否是正确的窗体。这是在按下菜单上的一个键后。这是一个代码块,我得到了分段错误。QT单元测试:qtestlib分段错误
std::auto_ptr<MyForm> pForm(new MyForm(3,3));
QTest::keyPress(pForm.get(), Qt::Key_0);
QWidget *pWin = QApplication::activeWindow();
QCOMPARE(pWin->windowTitle(), QString("My Second Menu"));
问题:
- 难道真的有可能获得当前活动窗口时,你只是模拟按键?
- 使用activeWindow时,我得到一个空指针,有无论如何,你可以得到应该在按键上显示在屏幕上的窗口的句柄?
谢谢...
两个想法:1.检查您希望在Key_0上执行的代码是否实际上被触发并创建菜单。如果不是,尝试显示()表单。 2.窗口可能未被同步激活,但延迟,那么您的代码将无法工作。 – 2010-11-19 08:37:28
Thanks dude ...你是对的...我在keyPress中添加了一个延迟,它工作! :d – Owen 2010-11-19 10:05:45