QT 单元测试:qtestlib 分段错误

发布于 2024-10-02 23:22:32 字数 446 浏览 8 评论 0原文

我正在编写一个测试应用程序,用于测试显示的表单是否是正确的表单。这是在按下菜单上的某个键后发生的。这是一个代码块,我遇到了分段错误。

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

问题:

  • 当您只是模拟按键时,真的有可能获取当前活动的窗口吗?
  • 我在使用 activeWindow 时得到一个空指针,无论如何,您是否可以获得按键时应该在屏幕上显示的窗口的句柄?

谢谢...

I'm writing a test app that would test if the displayed form is the correct form. This is after pressing a key on a menu. Here's a code block where I'm getting a segmentation fault.

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

Questions:

  • Is it really possible to get the currently active window when you are just simulating key presses?
  • I'm getting a null pointer when using activeWindow, is there anyway you could get the handle of the window that's supposed to show on the screen upon a keypress?

Thanks...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风为裳 2024-10-09 23:22:32

弗兰克是对的。该窗口尚未同步激活。添加作为 keyPress 参数的延迟确实解决了问题。谢谢弗兰克!

Frank was right. The window has not been acitivated synchronously. Adding a delay which is a parameter of keyPress did resolve the problem. Thanks Frank!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文