【Python】【界面】+Pyqt5 快速开始(demo)
参考教程:https://www.cnblogs.com/lovesoo/p/12491361.html
1、创建UI文件
2、UI文件转换为python文件
3、转换后的python文件
from PyQt5 import QtCore, QtGui, QtWidgets # 此文件仅修改触发的方法即可(如:accept 修改为 test_a) class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(646, 696) self.pushButton = QtWidgets.QPushButton(Dialog) self.pushButton.setGeometry(QtCore.QRect(270, 320, 191, 111)) self.pushButton.setObjectName("pushButton") self.retranslateUi(Dialog) self.pushButton.clicked.connect(Dialog.test_a) # 修改为触发的方法 QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.pushButton.setText(_translate("Dialog", "1"))
4、新建控制层代码
import sys from PyQt5.QtWidgets import QApplication, QDialog from common.pyqt import test from common.pyqt.luoji import LuoJi class MyDialog(QDialog): """ 此类为新建的类(UI窗体是什么就继承什么 这里是Dialog 就继承QDialog) 主要功能: 1、程序启动 2、充当界面与后端连接的桥梁 """ def __init__(self, parent=None): super(QDialog, self).__init__(parent) self.ui = test.Ui_Dialog() # test.Ui_Dialog() test:为ui文件转换后的python文件 self.ui.setupUi(self) def test_a(self): """ 点击按钮触发的函数 """ # step1 获取界面数据 value = int(self.ui.pushButton.text()) # 获取按钮文本 # step2 界面数据传给后台数据逻辑处理层 result = LuoJi.number_add(value) # step3 处理后的数据 反馈给界面 self.ui.pushButton.setText(str(result)) # 设置按钮文本(在原来的数字值上+1) # 以下代码基本不用修改 if __name__ == '__main__': QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) # 加上这句(运行后 与设计师里的一样) my_app = QApplication(sys.argv) myDlg = MyDialog() myDlg.show() sys.exit(my_app.exec_())
5、后台数据逻辑处理层
class LuoJi: @staticmethod def number_add(value: int): """ 入参加一 :param value: :return: """ return value + 1
如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义