Python Pyqt中的Qfiledialog

Python Pyqt中的Qfiledialog,python,pyqt,Python,Pyqt,我是PyQt编程新手,我已经编写了一段代码来浏览文件。代码如下: from PyQt4 import QtCore, QtGui try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(conte

我是PyQt编程新手,我已经编写了一段代码来浏览文件。代码如下:

from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_mainDialog(object):
    def setupUi(self, mainDialog):
        mainDialog.setObjectName(_fromUtf8("mainDialog"))
        mainDialog.resize(648, 48)
        self.formLayout = QtGui.QFormLayout(mainDialog)
        self.formLayout.setObjectName(_fromUtf8("formLayout"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setContentsMargins(-1, 2, -1, -1)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.label = QtGui.QLabel(mainDialog)
        self.label.setObjectName(_fromUtf8("label"))
        self.horizontalLayout.addWidget(self.label)
        self.lineEdit = QtGui.QLineEdit(mainDialog)
        self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
        self.horizontalLayout.addWidget(self.lineEdit)
        self.import_2 = QtGui.QPushButton(mainDialog)
        self.import_2.setObjectName(_fromUtf8("import_2"))
        self.horizontalLayout.addWidget(self.import_2)
        self.process = QtGui.QPushButton(mainDialog)
        self.process.setObjectName(_fromUtf8("process"))
        self.horizontalLayout.addWidget(self.process)
        self.formLayout.setLayout(0, QtGui.QFormLayout.FieldRole, self.horizontalLayout)
        QtCore.QObject.connect(self.import_2,QtCore.SIGNAL("clicked()"),self.callf)


        self.retranslateUi(mainDialog)
        QtCore.QMetaObject.connectSlotsByName(mainDialog)

    def retranslateUi(self, mainDialog):
        mainDialog.setWindowTitle(_translate("mainDialog", "Fatal error check", None))
        self.label.setText(_translate("mainDialog", "Import *.f06 file", None))
        self.import_2.setText(_translate("mainDialog", "Import", None))
        self.process.setText(_translate("mainDialog", "Process", None))
    def callf(self):
        fileName = QtGui.QFileDialog.getOpenFileName(self, 'import f06 file', '/home/harisyam/Desktop', selectedFilter='*.txt')
        if fileName:
           print fileName



if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    mainDialog = QtGui.QDialog()
    ui = Ui_mainDialog()
    ui.setupUi(mainDialog)
    mainDialog.show()
    sys.exit(app.exec_())
当我运行代码时,会出现主对话框,但当我按下导入按钮时,文件选择器不会弹出。谁能告诉我怎么了

代码很大,因为我将.ui文件转换为.py。我已经在QT designer中设计了gui

更改类Ui\u mainDialog(对象):

到类Ui_main对话框(QtGui.QWidget):

还有一个拼写错误

QtCore.QObject.connect(self.import_2,QtCore.SIGNAL(“clciked()”),self.callf)

应该点击