在Linux上的QFileDialog中过滤可执行文件

时间:2012-04-16 16:18:35

标签: qt pyqt

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

我对QDir和QFileDialog文档的理解是,以下内容应显示仅包含可执行文件的文件对话框。但是,即使目录中有可执行文件,它也根本没有显示任何文件(也没有任何目录)。

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

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

我在Ubuntu Maverick上使用PyQt 4.7.4。

1 个答案:

答案 0 :(得分:0)

我正在使用PyQt5,但我只想做类似的事情,我只需要.txt文件。为了执行此操作,我使用了getFileOpenName()和filter =选项。它适用于我的目的。函数名称已从PyQt4更改为PyQt5,但下面的链接具有PyQt4替代名称。

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

  

getOpenFileNameAndFilter(),getOpenFileNamesAndFilter()和   PyQt4的QFileDialog的getSaveFileNameAndFilter()方法现在已经有了   已重命名为getOpenFileName(),getOpenFileNames()和   PyQt5中的getSaveFileName()。 PyQt4的实现   getOpenFileName(),getOpenFileNames()和getSaveFileName()都没有   PyQt5支持。