繁体   English   中英

如何在QTest中关闭QFileDialog.getOpenFileName?

[英]How to close a QFileDialog.getOpenFileName in QTest?

我正在使用PyQt4在Python 3.5中开发一个应用程序,我想使用QTest进行单元测试。 到目前为止,我设法用QTest做任何我想要的事情,除了这个问题:

我的窗口作为文件夹按钮,当你单击它时,一个文件对话框打开以选择一个文件夹(经典)。 这或(或多或少)写在我的代码中:

self.file_dialog = QtGui.QFileDialog()
[...]    
tmp_path = self.file_dialog.getOpenFileName(self, caption='toto', filter="*.csv")

我的问题是在QTest中,当它出现时我无法找到关闭此对话框的方法。

我已经尝试调用它的close()或reject()方法(直接或使用单发计时器),但这些似乎都不起作用......

有没有我没想过的解决方案? 我不介意关闭所有窗户,如果有必要(但我也不能这样做)

谢谢 !

据我所知,您不应该在测试中使用静态方法(例如getOpenFileName ),因为您无法控制对话框窗口的打开。 您应该使用构造函数,设置所需的选项,然后仅在实际代码中调用self.file_dialog.exec_() (而不是在测试中)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM