QT unit test: guasto qtestlib Segmentation
-
26-09-2019 - |
Domanda
Sto scrivendo un'applicazione di test che avrebbe verificare se la forma visualizzata è la forma corretta. Questo è dopo aver premuto un tasto su un menu. Ecco un blocco di codice dove sto ricevendo un errore di segmentazione.
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"));
Domande:
- È davvero possibile per ottenere la finestra attiva quando si è appena simulando la pressione dei tasti?
- sto ottenendo un puntatore nullo quando si utilizza activeWindow, c'è comunque si potrebbe ottenere l'handle della finestra che dovrebbe mostrare sullo schermo su pressione di un tasto?
Grazie ...
Soluzione
Frank aveva ragione. La finestra non è stato acitivated sincrono. L'aggiunta di un ritardo che è un parametro di keyPress è riuscito a risolvere il problema. Grazie Frank!
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow