Domanda

Sto scrivendo una applicazione di test che simula i tasti premuti e vorrei ottenere quello che viene visualizzata la finestra dopo ogni tasto.Ecco il codice di blocco.

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

Dopo aver premuto 0 qui, Una finestra è intenzione di mostrare e vorrei controllare che la finestra è così ho potuto QCompare/valutare successivamente.

Tutte Le Idee?

Aggiornamento:

Sto diventando un segmentation fault quando uso

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"));
È stato utile?

Soluzione

Se tutte le finestre sono state create per mezzo di la vostra applicazione, è possibile utilizzare il QApplication classe.Per esempio, la activeWindow() la funzione restituisce il widget che ha lo stato attivo.Ma c'è un sacco di altre funzioni che possono aiutarti.

Speranza che aiuta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top