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_())

顯示如下,主流都是單繼承

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章