Frage

Ich schreibe eine Test-Anwendung, die, wenn die angezeigte Form die richtige Form ist testen würde. Dies ist nach einer Taste auf einem Menü drücken. Hier ist ein Codeblock, wo ich einen Segmentation Fault zu bekommen.

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

Fragen:

  • Ist es wirklich möglich, das aktive Fenster zu erhalten, wenn Sie nur Tastendrücke simuliert werden?
  • Ich bin ein Null-Zeiger bekommen, wenn active verwendet wird, ist es trotzdem Sie den Griff des Fensters bekommen konnte, die auf einen Tastendruck auf dem Bildschirm zu zeigen, angenommen hat?

Danke ...

War es hilfreich?

Lösung

Frank hatte Recht. Das Fenster ist nicht synchron acitivated worden. Hinzufügen einer Verzögerung, die ein Parameter von keyPress ist hat das Problem zu beheben. Dank Frank!

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