PyQt4文件选择小部件

Nat*_*han 19 python filedialog qt4 pyqt4 qfiledialog

我想制作一个QT4(使用QT设计器)对话框,其中包含一个必须选择文件的部分.

现在,我知道QFileDialog存在,我可以编写符合我想要的东西.但是我也可以在QT设计师中做到这一点吗?

有没有办法在QT设计器中获得"文件选择"小部件?或者,我记得这些按钮,将所选文件作为标题和一个小箭头,允许用户通过QFileDialog选择另一个文件?

那么有一个现成的解决方案,还是我必须自己编程?

Wol*_*lph 33

据我所知,Qt设计师没有可用的文件对话框.但是您可以使用几行代码轻松完成.

假设你有一个名为pushButton的简单按钮,路径应该存储在lineEdit中.

def selectFile():
    lineEdit.setText(QFileDialog.getOpenFileName())

pushButton.clicked.connect(selectFile)
Run Code Online (Sandbox Code Playgroud)

[编辑]只是想知道,你是否有机会使用KDE?如果是这样,那么你可以使用KUrlRequester.它可以轻松配置为支持从文件到URL到目录的任何内容.


Vic*_*y T 13

QFileDialog存在于QtGui.至少在我的4.4版本中,也可能更早.我认为它不在Designer中的原因是因为它打开了自己的窗口,而不是放在另一个窗口上的小部件.

来自QTDesigner的文档可能更好,至少暗示它的存在.

实例化它并运行show命令.它出现了,默认为/.

import QtGui
self.fileDialog = QtGui.QFileDialog(self)
self.fileDialog.show()
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以使用QFileDialog类中的getOpenFileName()方法。

QFileDialog.getOpenFileName()将返回文件路径和所选文件类型

我得到这个:('C:/Users/Sathsara/Desktop/UI/Test/test.py','所有文件(*)')

要仅获取文件路径,请使用QFileDialog.getOpenFileName()[0]


示例代码:

def selectFile():
   print(QFileDialog.getOpenFileName()[0])


dlg.locationBtn.clicked.connect(selectFile)
Run Code Online (Sandbox Code Playgroud)