9

キーの押下をシミュレートするテストアプリを作成しています。キーを押すたびにどのウィンドウが表示されるかを知りたいです。これがコードブロックです。

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"));
4

1 に答える 1

9

すべてのウィンドウがアプリケーションによって作成されている場合は、QApplicationクラスを使用できます。たとえば、activeWindow()関数は入力フォーカスを持つウィジェットを返します。しかし、他にも役立つ機能がたくさんあります。

それが役立つことを願っています

于 2010-11-18T08:48:30.557 に答える