我想制作一个 QT4(使用 QT 设计器)对话框,其中包含必须选择文件的部分。
现在,我知道 QFileDialog 存在,我可以编写一些我想要的东西。但是我也可以在 QT 设计器中这样做吗?
有没有办法在 QT 设计器中获取“文件选择”小部件?或者,我记得这些按钮,将所选文件作为标题和一个小箭头,允许用户通过 QFileDialog 选择另一个文件?
那么有没有现成的解决方案,还是我必须自己编程?
我想制作一个 QT4(使用 QT 设计器)对话框,其中包含必须选择文件的部分。
现在,我知道 QFileDialog 存在,我可以编写一些我想要的东西。但是我也可以在 QT 设计器中这样做吗?
有没有办法在 QT 设计器中获取“文件选择”小部件?或者,我记得这些按钮,将所选文件作为标题和一个小箭头,允许用户通过 QFileDialog 选择另一个文件?
那么有没有现成的解决方案,还是我必须自己编程?
据我所知,Qt 设计器没有可用的文件对话框。但是您可以使用几行代码轻松完成。
假设您有一个名为 pushButton 的简单按钮,并且路径应存储在 lineEdit 中。
def selectFile():
lineEdit.setText(QFileDialog.getOpenFileName())
pushButton.clicked.connect(selectFile)
[编辑]只是想知道,您是否有机会使用 KDE?如果是这样,那么您可以为此使用 KUrlRequester。它可以很容易地配置为支持从文件到 url 到目录的任何内容。
QFileDialog
存在于QtGui
. 至少在我的 4.4 版中,而且可能更早。我认为它不在 Designer 中的原因是它打开了自己的窗口,而不是作为放置在另一个窗口上的小部件。
QTDesigner 的文档可能会更好,至少暗示了它的存在。
实例化它并运行show
命令。它立即出现并默认为/
.
import QtGui
self.fileDialog = QtGui.QFileDialog(self)
self.fileDialog.show()
您可以在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)