日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【pyqt5】——入门级模板(ui文件+ui转py文件+逻辑py文件)(消息提示框)

發布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【pyqt5】——入门级模板(ui文件+ui转py文件+逻辑py文件)(消息提示框) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

1、ui文件

2、ui轉py文件

3、邏輯py文件

4、實例

1)ui文件——demo.ui

2)ui轉py文件——demo.py

3)邏輯py文件——demoLogic.py

4)運行結果


1、ui文件

這個文件是直接通過pyqt5 designer進行設計的,相關配置可見《配置Qt Designer到PyCharm之【designer.exe的保存位置及ui文件轉py文件及no Qt platform plugin could be initialized 問題解決】 》

2、ui轉py文件

這個文件是通過pyuic來得到的,具體配置可見《配置Qt Designer到PyCharm之【designer.exe的保存位置及ui文件轉py文件及no Qt platform plugin could be initialized 問題解決】 》

這里主要是控件的相關屬性設置

3、邏輯py文件

因為每次修改ui文件,然后通過pyuic轉py都會將自己添加的代碼給格式化掉,因此最好是將自己要添加的代碼另寫一個Py文件,只需要在這個文件中導入ui轉py文件即可

這里主要封裝的是每個控件的回調方法

4、實例

這里以按下按鈕彈出提示的GUI為例,如下圖所示

我這里含4個文件,文件層級如下圖所示

1)ui文件——demo.ui

2)ui轉py文件——demo.py

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'demo.ui' # # Created by: PyQt5 UI code generator 5.15.1 # # 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(231, 130)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(80, 40, 75, 23))self.pushButton.setObjectName("pushButton")MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 231, 23))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))self.pushButton.setText(_translate("MainWindow", "PushButton"))if __name__ == "__main__":import sysapp = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = Ui_MainWindow()ui.setupUi(MainWindow)MainWindow.show()sys.exit(app.exec_())

3)邏輯py文件——demoLogic.py

from GUI_Template.GUITemplate.demo import *# 新建類,繼承于UI_MainWindow,用于寫一些回調函數和執行事件 class demoLogic(QtWidgets.QMainWindow,Ui_MainWindow):# 擴展類方法,通常寫一些全局變量賦值等def __init__(self,parent=None):super(demoLogic,self).__init__(parent)self.setupUi(self)self.run()# 回調函數執行的事件函數1def signThing1(self):pass# 回調函數執行的事件函數2def signThing2(self):pass# 消息彈出事件def qmessage(self):QtWidgets.QMessageBox.warning(self, "警告對話框", "繼續執行會導致系統重啟,你確定要繼續?",QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No)# ......# 關于一些控件的連接方法def run(self):# self.pushButton.clicked.connect(self.signThing1)# self.pushButton.clicked.connect(self.signThing2)self.pushButton.clicked.connect(self.qmessage)if __name__ == "__main__":import sysapp = QtWidgets.QApplication(sys.argv) # 創建pyqt5應用logicwin = demoLogic()# 將邏輯類實例化logicwin.show()# 顯示窗口sys.exit(app.exec_())# 退出窗口

4)運行結果

按下pushButton后

總結

以上是生活随笔為你收集整理的【pyqt5】——入门级模板(ui文件+ui转py文件+逻辑py文件)(消息提示框)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。