Pregunta

Estoy escribiendo una aplicación de prueba que pondría a prueba si la forma que se muestra es la forma correcta. Esto es después de pulsar una tecla en un menú. Aquí hay un bloque de código en la que me estoy poniendo un fallo de segmentación.

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

Preguntas:

  • ¿Es realmente posible para obtener la ventana activa en ese momento cuando se está simulando las pulsaciones de tecla?
  • Me estoy poniendo un puntero nulo cuando se utiliza ActiveWindow, es allí de todos modos se podía obtener el identificador de la ventana que se supone que mostrar en la pantalla al pulsar una tecla?

Gracias ...

¿Fue útil?

Solución

Frank tenía razón. La ventana no se ha acitivated forma sincrónica. La adición de un retraso que es un parámetro de keyPress resolvió el problema. Gracias Frank!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top