下面是用于模拟菜单上的按键的代码块。我可以深入了解我的应用程序的菜单,但是当我返回主窗体时,我遇到了一个分段错误.... :(
首先我展示我的应用程序:
std::auto_ptr<MyForm> mainForm( new MyForm( 3, 3 ));
mainForm->show();
然后模拟一个按键来显示主菜单:
QTest::keyPress(mainForm.get(), Qt::Key_0, NULL, 300);
QTest::keyRelease(mainForm.get(), Qt::Key_0, NULL, 300);
QWidget *pWin = QApplication::activeWindow();
QCOMPARE(QString(pWin->objectName()), QString("MainMenu"));
然后模拟另一个 keyPress 回到我的主应用程序:
QTest::keyPress(pWin, Qt::Key_Escape, NULL, 300);
QTest::keyRelease(pWin, Qt::Key_Escape, NULL, 300);
pWin = QApplication::activeWindow();
QCOMPARE(QString(pWin->objectName()), QString("MainForm"));
这就是我遇到分段错误的地方......谁能告诉我是什么导致了这个错误?