Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qt: How do I get the currently running window?

I'm writing a test app which simulates key presses and I would like to get what window is displayed after each key presses. Here's the code block.

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

After pressing 0 here, A window is gonna show up and I would like to check what window it is so I could QCompare/evaluate it later.

Any Ideas?

Updated:

I'm getting a segmentation fault when I use

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"));
like image 865
Owen Avatar asked Nov 18 '10 08:11

Owen


1 Answers

If all your windows have been created through your application, you can use the QApplication class. By example, the activeWindow() function returns the widget that have the input focus. But there's a lot of other functions that can help you.

Hope that helps

like image 179
Patrice Bernassola Avatar answered Oct 02 '22 13:10

Patrice Bernassola