如何使用PySide导入主窗口(.ui文件)

时间:2014-03-16 11:48:17

标签: python qt pyside qtgui qmainwindow

我正在做一个python项目并使用PySide设计其接口。 问题是如何使用PySide从Qt Designer导入mainwindow(.ui文件)。 我的班级继承自QtGui.QMainWindow。

感谢您的回答。 ^^

2 个答案:

答案 0 :(得分:1)

让我们说Qt Designer中的顶级对象名为MainWindow

当您使用pyside-uic生成GUI模块时,它将创建一个名为Ui_MainWindow的类。您需要将此类导入到主应用程序中。导入的类有一个setupUi方法,用于将GUI从Qt Designer注入到顶级类的实例中。所以执行此操作的基本代码应如下所示:

from PySide import QtCore, QtGui
from mainwindow import Ui_MainWindow

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.ui = Ui_MainWindow.setupUi(self)

有了这个,您可以从Qt Designer访问小部件,如下所示:

       # connect a button to its handler
       self.ui.pushButton.clicked.connect(self.handleButtonClicked)

要运行该应用程序,您可以执行以下操作:

if __name__ == '__main__':

    import sys
    app = QtGui.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

答案 1 :(得分:0)

您需要使用QUILoader class

即,您将使用记录为here方法。

您可以将QIODevice子类作为第一个参数传递,例如,一个QFile实例,用于打开.ui文件。