Qt的:如何获得当前正在运行的窗口?
-
26-09-2019 - |
题
我正在写一个测试程序来模拟按键和我想获得每一个按键后显示的内容窗口。下面的代码块。
std::auto_ptr<MyForm> pForm(new MyForm(3,3));
QTest::keyPress(pForm.get(), Qt::Key_0);
在这里按0后,窗口是要显示出来,我想,以检查它是什么窗口,所以我可以QCompare /后评估。
任何想法?
<强>更新强>
我收到分段故障,当我使用
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"));
解决方案
如果您所有的窗户都被通过应用程序创建的,您可以使用 QApplication
类。
通过例如, activeWindow()
函数返回具有输入焦点的窗口小部件。但是有很多其他的功能,可以帮助你。
希望帮助
不隶属于 StackOverflow