QT窗口与业务逻辑分离

一 前言

经过前面一篇QT入门文章,读者应该对QT有个简单的概念,本篇文章指在将窗口和业务逻辑分离开来,降低耦合度;

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 分离代码

  1. 首先使用面向对象的思想,继承QWidget,如果多组件,可以使用多继承;

    def __init__(self, parent=None):
       super().__init__(parent) 
    
  2. 其次定义号初始化gui的内容,将gui方法放入构造器里面初始化;

  3. 最后在_main_中调用即可,就实现了界面与业务逻辑分离

# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon

""" 带窗口图标"""
class Windos(QWidget):

    def __init__(self):
        # 继承父类方法
        super().__init__()
        # 初始化gui
        self.init_gui()


    def init_gui(self):
        # 设置弹出窗口的位置和大小,相当于move + resize
        self.setGeometry(500, 500, 250, 300)
        # 设置标题
        self.setWindowTitle('知识追寻者')
        # 设置窗口图标
        self.setWindowIcon(QIcon('zszxz.png'))
        # 显示
        self.show()


if __name__ == '__main__':

    # 基础模块
    app = QApplication(sys.argv)
    # 调用对象
    ex = Windos()
    # 循环退出
    sys.exit(app.exec_())

显示如下,主流都是单继承

发布了155 篇原创文章 · 获赞 431 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/youku1327/article/details/105453287