PyQt5编程(4) : 利用QtDesigner设计程序界面(

2018-01-01  本文已影响0人  用电热毯烤猪

关于QtDesigner的使用可参见博文PyQT5界面开发—利用QtDesigner设计UI界面—Qt Designer简介。
本文介绍如何利用已生成的ui文件,生成可很执行的程序。要调用ui文件,需要导入PyQt库的uic模块。
其中的loadui ()函数用来加载ui文件:
loadUi (uifile[, baseinstance=None[, package=''[, resource_suffix='_rc']]])
如果未指定baseinstance参数,该函数将返回一个新窗口实例。
通过该窗口实例可以访问窗口中的组件。

# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets, uic


class MyWindow(QtWidgets.QWidget):

    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        Form, Base = uic.loadUiType("MyForm.ui")
        self.ui = Form()
        self.ui.setupUi(self)
        self.ui.btnQuit.clicked.connect(QtWidgets.qApp.quit)


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

也可在在窗口类外单独调用生成窗口,然后窗口类继承自该窗口类:

from PyQt5 import QtWidgets, uic


Form, Base = uic.loadUiType("MyForm.ui")

class MyWindow(QtWidgets.QWidget, Form):

    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.setupUi(self)
        self.btnQuit.clicked.connect(QtWidgets.qApp.quit)

if __name__ == "__main__":

    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

以下是MyForm.ui的内容:


图片.png
上一篇下一篇

猜你喜欢

热点阅读