我正在尝试使用 QTestLib 为 GUI 应用程序编写单元测试。问题是其中一个插槽使用 exec() 创建了一个文件对话框,我发现无法与该对话框进行交互。
创建对话框的槽连接到一个 QAction。所以第一个问题是当我在测试中触发 QAction 时测试会阻塞,因为这会导致调用 exec()。
这是我的代码片段
QActoin* currentActoin;
if(currentAction->text() == action)
{
currentAction->trigger();
..........
}
在这里,一旦我触发了该操作,它就会打开需要手动干预才能返回程序的文件对话框。我如何在没有人工干预的情况下返回测试代码?即我怎样才能获得指向文件对话框的处理程序(指针)?如何为文件对话框设置值?