使用PyQT5创建浏览按钮

时间:2017-07-07 19:53:19

标签: python pyqt pyqt5

我想用pyqt5创建一个浏览按钮,但我不明白

from PyQt5 import QtWidgets,QtCore, QtGui

import test3 

class MyWindow(QtWidgets.QMainWindow):

    def __init__(self, parent=None):
        QtWidgets.QMainWindow.__init__(self, parent)
        self.ui = test3.Ui_MainWindow()
        self.ui.setupUi(self)

        self.ui.pushButton_2.clicked.connect(self.getfiles)


    def getfiles(self):
        fileName = QtGui.QFileDialog.getOpenFileName(self,'Single File','C:\'','*.xlsm')
        self.ui.lineEdit.setText(fileName)


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

2 个答案:

答案 0 :(得分:3)

在您的代码中有2个错误:

  1. QFileDialog属于QtWidgets

  2. 第二个是getOpenFileName函数返回一个元组:(filename, filter),第一个元素是文件名,第二个元素是过滤器。

  3. 您必须更改哪些功能:

    fileName = QtGui.QFileDialog.getOpenFileName(self,'Single File','C:\'','*.xlsm')
    

    为:

    fileName, _ = QtWidgets.QFileDialog.getOpenFileName(self, 'Single File', QtCore.QDir.rootPath() , '*.xlsm')
    

答案 1 :(得分:0)

这对我有用。

fileName,_ = QtWidgets.QFileDialog.getOpenFileName(None,'Single File','','* .xlsm')