PyQt5(四):UI与逻辑代码的分离

问题:只要一修改ui文件,就需要重新生成Python文件,刚才添加的代码就都没有了

(UI界面更改后,由.ui文件生成.py文件,原先生成的.py文件会变化,且在这个基础上更新的代码会被覆盖,因此需要左到)

1、创建UI窗体

用Qt Designer设计相应的界面

2、转换为python文件

将.ui文件用PyUIC转换为.py文件

3、继承

新建一个.py文件,如maintesthj.py,用于继承UI窗体类

4、实现逻辑

在maintesthj.py中,实现外部一些显示逻辑

5、在main中调用

(相当于UI代码不变,用继承把接口调出来,然后对UI进行操作,而不是直接在UI内部操作)

from PyQt5 import QtWidgets, QtGui, QtCore # 导入窗体的类,窗体,图形,核心控件
from demo1 import Ui_LoginWindow # 导入自己文件,自己的类导入,继承的父类导入了
import sys
# 编写自己的类,继承
class MainWindow(QtWidgets.QMainWindow,Ui_LoginWindow):
    # 编写初始化方法
    def __init__(self,parent = None):
        # 调用父类的初始化方法
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv) # 启动PyQt窗体
    main_window = QtWidgets.QMainWindow() # 创建窗体对象
    ui = MainWindow() # 创建PyQt设计的窗体对象,创建的是子类的对象
    ui.setupUi(main_window) # 调用对象方法进行初始化设置
    main_window.show() # 显示窗体
    sys.exit(app.exec_()) # 程序关闭推出进程

其中,demo1是UI的文件名,Ui_LoginWindow是demo1中的类的名称

上面编写的自己的类

在MainWindow中,可以编辑各种逻辑,比如密码变成点点

运行即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值