Question

J'écris une application de test qui simule touches et je voudrais obtenir ce que la fenêtre est affiché après chaque touches. Voici le bloc de code.

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

Après avoir appuyé sur 0 ici, une fenêtre va montrer et je voudrais vérifier ce que la fenêtre est que je puisse QCompare / évaluer ultérieurement.

Des idées?

Mise à jour:

Je reçois une erreur de segmentation lors de l'utilisation

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"));
Était-ce utile?

La solution

Si toutes les fenêtres ont été créés grâce à votre application, vous pouvez utiliser le QApplication classe. Par exemple, la fonction activeWindow() renvoie le widget ayant le focus d'entrée . Mais il y a beaucoup d'autres fonctions qui peuvent vous aider.

L'espoir qui aide

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top