在python中使用pyqt4的文件浏览器?

时间:2014-10-01 11:34:26

标签: python-3.x pyqt pyqt4 pyqt5

我正在尝试创建桌面应用。我使用pyqt4 designer创建了一个按钮。然后将.ui转换为.py文件。我创建的按钮应该作为文件选择器。我发现很难添加文件浏览器。任何人都可以帮我解决这个问题。

代码我试过

def setupUi(self, WizardPage):
        WizardPage.setObjectName(_fromUtf8("WizardPage"))
        WizardPage.resize(636, 486)
        self.horizontalLayoutWidget = QtGui.QWidget(WizardPage)
        self.groupBox = QtGui.QGroupBox(self.horizontalLayoutWidget)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.pushButton = QtGui.QPushButton(self.groupBox)
def retranslateUi(self, WizardPage):
    WizardPage.setWindowTitle(_translate("WizardPage", "WizardPage", None))
    self.groupBox.setTitle(_translate("WizardPage", "SOURCE", None))
    self.pushButton.setText(_translate("WizardPage", "Click Me!", None))
    self.pushButton.clicked.connect(self.pushButton_Clicked)

def pushButton_Clicked(self, WizardPage):
    filename = QtGui.QFileDialog.getOpenFileName(self)

请指导我哪里出错了?

1 个答案:

答案 0 :(得分:2)

首先, 从不 直接编辑由pyuic创建的.py文件。相反,将其导入主程序,或(我的首选方法,提高您的工作效率)使用uic模块(从PyQt导入from PyQt4 import uic。)ui = uic.loadUi('example.ui')将导入UI文件。

但是,在解决问题时,您需要更改一些内容。

openfile = QtGui.QFileDialog.getOpenFileName(self) # Filename line
f = open(openfile, 'r') # New line
data = f.read() # New line