在我的情况下,QT QTest :: keyclick或mouseMove似乎不适用于QMenu

时间:2018-02-13 14:43:31

标签: c++ qt user-interface qa qtestlib

我有一个简单的流程

  1. 点击QPushButton
  2. QMenu出现了几个动作
  3. 使用键盘或鼠标移动浏览QMenu。 (从代码触发动作不是一种方法,它应该是aclean GUI测试)。
  4. #!/usr/bin/python import time entryid = 5 epochdate = 788932800 + entryid * 86400 print time.strftime("%d/%m/%y", time.gmtime(epochdate)) - 似乎对我不起作用。

    简单的例子

    QTest::keyClick(m_menu, Qt::Key::Key_Down);

1 个答案:

答案 0 :(得分:0)

感谢vahancho我找到了解决方法。 QMenu.exec()正在同步执行。因此,要在菜单打开时有机会提供一些输入,我们应该使用下一个模板:

QTimer::singleShot(0, [menu]()
{
  //code that should be executed   
});

menu->exec();