4

我正在尝试制作一个文件选择器来选择一个程序(可执行文件)。

我对 QDir 和 QFileDialog 文档的理解是,下面应该显示一个只有可执行文件的文件对话框。但是,即使目录中有可执行文件,它也根本不显示文件(也没有目录)。

    self.browseDialog = QtGui.QFileDialog()
    self.browseDialog.setFilter(QtCore.QDir.Executable | QtCore.QDir.Files)
    self.browseDialog.exec_()

难道我做错了什么?这可以实现吗?我还想做一些更复杂的事情:显示可执行文件以某些扩展名结尾的文件。

我在 Ubuntu Maverick 上使用 PyQt 4.7.4。

4

1 回答 1

0

我正在使用 PyQt5,但只需要 .txt 文件就必须做类似的事情。为此,我使用了 getFileOpenName() 和 filter= 选项。它对我的目的很好。函数名称已从 PyQt4 更改为 PyQt5,但下面的链接包含 PyQt4 替代品的名称。

http://pyqt.sourceforge.net/Docs/PyQt5/pyqt4_differences.html

PyQt4 的 QFileDialog 的 getOpenFileNameAndFilter()、getOpenFileNamesAndFilter() 和 getSaveFileNameAndFilter() 方法现在在 PyQt5 中分别重命名为 getOpenFileName()、getOpenFileNames() 和 getSaveFileName()。PyQt5 不支持 PyQt4 的 getOpenFileName()、getOpenFileNames() 和 getSaveFileName() 实现。

于 2017-01-27T14:46:05.570 回答