房地產(chǎn)網(wǎng)站制作關(guān)聯(lián)詞有哪些三年級
首先利用Qt Designer設(shè)計.ui文件,然后采用Tools->External Tools->PyUIC轉(zhuǎn)換成.py文件。這個.py文件是.ui文件編譯而來的,將這種文件由.ui文件編譯而來的.py文件稱之為界面文件。由于界面文件每次編譯時候都會初始化,所以需要新建一個.py文件來調(diào)用界面文件,這個新建立的.py問稱之為邏輯文件,也可以成為業(yè)務(wù)文件。
也就是說通過轉(zhuǎn)換 ui 文件為 py 文件,得到的只是界面的 ui 的類, 并不包括啟動界面的函數(shù),我們稱之為界面文件。需要一個新建一個 py 文件調(diào)用文件,這個新建的文件我們稱為邏輯文件。
界面文件和邏輯文件是兩個相對獨立的文件,通過上述方法實現(xiàn)了界面與邏輯的分離。
邏輯文件代碼如下:
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
from untitled import Ui_MainWindowclass MyMainForm(QMainWindow, Ui_MainWindow):def __init__(self, parent=None):super(MyMainForm, self).__init__(parent)self.setupUi(self)if __name__ == '__main__':# 每一pyqt5應(yīng)用程序必須創(chuàng)建一個應(yīng)用程序?qū)ο?。sys.argv參數(shù)是一個列表,從命令行輸入?yún)?shù)。app = QApplication(sys.argv)myWin = MyMainForm()# 顯示在屏幕上myWin.show()# 系統(tǒng)exit()方法確保應(yīng)用程序干凈的退出# 的exec_()方法有下劃線。因為執(zhí)行是一個Python關(guān)鍵詞。因此,exec_()代替sys.exit(app.exec_())
界面文件代碼(通過.ui文件轉(zhuǎn)換的代碼)
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(690, 399)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.stackedWidget = QtWidgets.QStackedWidget(self.centralwidget)self.stackedWidget.setGeometry(QtCore.QRect(40, 70, 621, 271))self.stackedWidget.setObjectName("stackedWidget")self.page1 = QtWidgets.QWidget()self.page1.setObjectName("page1")self.stackedWidget.addWidget(self.page1)self.page2 = QtWidgets.QWidget()self.page2.setObjectName("page2")self.stackedWidget.addWidget(self.page2)MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 690, 22))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)self.stackedWidget.setCurrentIndex(0)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))