当前位置:首页 >> 编程语言 >> 【pyqt5】——入门级模板(ui文件+ui转py文件+逻辑py文件)(消息提示框),三诺音箱

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

0evadmin 编程语言 1
文件名:【pyqt5】——入门级模板(ui文件+ui转py文件+逻辑py文件)(消息提示框),三诺音箱 【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后

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接