7
私はキープレスをシミュレートするテストアプリを書いています。キーが押されるたびに表示されるウィンドウを取得したいと思います。ここにコードブロックがあります。Qt:現在実行中のウィンドウを取得するにはどうすればよいですか?
std::auto_ptr<MyForm> pForm(new MyForm(3,3));
QTest::keyPress(pForm.get(), Qt::Key_0);
ここに0を押すと、ウィンドウはつもりショーアップしていると私はそれが私がQCompare /は後でそれを評価することができそうである何ウィンドウをチェックしたいと思います。
すべてのアイデア?
更新日:
を私はすべてのあなたの窓は、あなたのアプリケーションを介して作成されている場合は、私が
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"));
+1これは正しい解決策です。 – Venemo
セグメンテーションフォルトが発生しています。私は何か間違っている可能性があります...上記のコードブロックを更新しました... :( – Owen
ドキュメントに説明されているように、ウィンドウに入力フォーカスがない場合、戻りポインタはnullになることがあります。ウィジェット。テストウィンドウにQTextEditを追加しようとする。 –