Frage

Ich schreibe einen Test-App, die Tastendrücke simuliert, und ich mag bekommen, was Fenster nach jedem Tastendrücke angezeigt wird. Hier ist der Code-Block.

std::auto_ptr<MyForm> pForm(new MyForm(3,3)); 
QTest::keyPress(pForm.get(), Qt::Key_0); 

Nach dem 0 hier drücken, wird ein Fenster werde zeigen, und ich möchte überprüfen, was Fenster ist es so konnte ich QCompare / bewerten Sie es später.

Irgendwelche Ideen?

Aktualisiert:

Ich bin ein Segmentierungsfehler bekommen, wenn ich

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"));
War es hilfreich?

Lösung

Wenn alle Ihre Fenster sind durch Ihre Anwendung erstellt wurde, können Sie die QApplication Klasse. Mit dem Beispiel des activeWindow() Funktion gibt das Widget, das den Eingabefokus hat . Aber es gibt viele andere Funktionen, die Ihnen helfen können.

Ich hoffe, das hilft

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top