質問

表示されたフォームが正しいフォームかどうかをテストするテストアプリを作成しています。これは、メニュー上のキーを押した後です。これはセグメンテーション違反が発生しているコード ブロックです。

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 を使用すると null ポインターが返されます。キーを押したときに画面に表示されるウィンドウのハンドルを取得できますか?

ありがとう...

役に立ちましたか?

解決

フランクは正しかったです。窓は同期acitivatedされていません。 KeyPressイベントのパラメータである遅延を追加して、問題を解決しました。おかげでフランク!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top