前一篇文章介紹直接調(diào)用ui文件留拾,本文介紹將ui文件轉(zhuǎn)成py文件生成窗口的編程方式螺男。要將MyForm.ui生成ui_MyForm.py文件,需執(zhí)行下列命令:
pyuic5.bat MyForm.ui -о ui_MyForm.py
生成.py文件后瘫俊,就可用import導入到程序中:
from PyQt5 import QtWidgets
import sys, ui_MyForm
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
ui = ui_MyForm.Ui_MyForm()
ui.setupUi(window)
ui.btnQuit.clicked.connect(QtWidgets.qApp.quit)
window.show()
sys.exit(app.exec_())
以上是使用函數(shù)編程方式的代碼。
ui = ui_MyForm.Ui_MyForm()
創(chuàng)建窗口對象扇丛,然后調(diào)用setupUi 函數(shù),參數(shù)為窗口實例:
ui.setupUi(window)
也可采用面向?qū)ο蟮木幊谭绞剑?/p>
# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets
import ui_MyForm
class MyWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.ui = ui_MyForm.Ui_MyForm()
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_())
還可將該窗口作為父類尉辑,創(chuàng)建新窗口:
from PyQt5 import QtWidgets
import ui_MyForm
class MyWindow(QtWidgets.QWidget, ui_MyForm.Ui_MyForm):
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_())