Pregunta

Estoy escribiendo una aplicación de prueba que simula pulsaciones de teclas y me gustaría obtener lo que se muestra la ventana después de cada pulsaciones de teclas. Aquí está el bloque de código.

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

Después de pulsar 0 aquí, una ventana va a aparecer y me gustaría comprobar lo que es la ventana para que pudiera QCompare / evaluarlo posteriormente.

¿Ideas?

Actualizado:

Me estoy poniendo un fallo de segmentación cuando 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"));
¿Fue útil?

Solución

Si todas las ventanas se han creado a través de su aplicación, se puede utilizar el clase QApplication . Por ejemplo, el activeWindow() función devuelve el widget que tiene el foco de entrada . Pero hay un montón de otras funciones que le pueda ayudar.

Espero que ayude

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