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)