没有合适的资源?快使用搜索试试~ 我知道了~
PyQt5 如何让界面和逻辑分离的方法
9 下载量 93 浏览量
2020-12-20
11:52:58
上传
评论 2
收藏 42KB PDF 举报
温馨提示
试读
1页
前言 我们已经知道利用QtDesigner来设计界面,并通过Pycharm外部工具PyUIC将其转化成py源文件。不过由于要响应事件操作,往往会将相应的槽函数写在ui的py文件中,这样,界面和逻辑开发就混合在一起了,每一次的ui更新都会伴随着转换后py文件的槽函数的添加修改,及其不方便,造成效率低下。本例就来介绍如何将二者剥离。 实例讲解 设计ui 我们通过Pycharm新建一个项目,并打开QtDesigner做一个简答的界面mainwindow.ui,在其上添加两个Button对应ID为World和China,一个label对应ID为Title,一个Line Edit对应的ID为lin
资源推荐
资源详情
资源评论
PyQt5 如何让界面和逻辑分离的方法如何让界面和逻辑分离的方法
前言前言
我们已经知道利用QtDesigner来设计界面,并通过Pycharm外部工具PyUIC将其转化成py源文件。不过由于要响应事件操作,
往往会将相应的槽函数写在ui的py文件中,这样,界面和逻辑开发就混合在一起了,每一次的ui更新都会伴随着转换后py文件
的槽函数的添加修改,及其不方便,造成效率低下。本例就来介绍如何将二者剥离。
实例讲解实例讲解
设计设计ui
我们通过Pycharm新建一个项目,并打开QtDesigner做一个简答的界面mainwindow.ui,在其上添加两个Button对应ID为
World和China,一个label对应ID为Title,一个Line Edit对应的ID为lineEdit
ui转换成转换成py
在Pycharm中项目文件中选择mainwindow.ui右键选择外部工具–PyUIC,生成py源文件ui_mainwindow.py
剥离剥离ui和逻辑和逻辑
在项目中新建文件mainwindow.py,创建类MainWindow类
from PyQt5 import QtCore, QtGui, QtWidgets
from ui_mainwindow import Ui_MainWindow
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.Title.setText("hello Python")
self.World.clicked.connect(self.onWorldClicked)
self.China.clicked.connect(self.onChinaClicked)
self.lineEdit.textChanged.connect(self.onlineEditTextChanged)
def onWorldClicked(self, remark):
print(remark)
self.Title.setText("Hello World")
def onChinaClicked(self):
self.Title.setText("Hello China")
def onlineEditTextChanged(self,p_str):
self.Title.setText(p_str)
在这里去绑定相应的signal和slot,实现业务逻辑,这样代码结构也清晰多了,以后如果再遇到ui更新,我们只需将更新的ui文
件替换并生成行的ui_***.py,这样就实现了ui和逻辑的分离。
main函数中调用函数中调用
在项目中新建主函数main.py,在其上实例化类MainWindow,并调用show方法显示
from PyQt5 import QtCore, QtGui, QtWidgets
from mainwindow import MainWindow
import sys
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
您可能感兴趣的文章您可能感兴趣的文章:python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
资源评论
weixin_38502292
- 粉丝: 5
- 资源: 965
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功