布局助手代码架构说明
   1

在之前的UI布局代码中,每修改一次布局,布局代码就被重置了,在布局代码中添加的部分又得重新设置了,需求总是变化,界面调整次数多了,每次重新设置还是挺让人头痛。为了解决这个麻烦问题,于是我重新设计了代码架构。

UI与逻辑分开

参照了后端开发中常用的 MVC 架构,我将代码重新分为了四个部分,程序入口、UI、窗口控制器、服务。
这样每一层的变化都不会影响下一层,如果UI布局发生了变化,只需替换UI文件即可。

程序入口

程序入口代码很简单,主要导入UI、控制器,然后展示窗口。示例如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# main.py

# 导入布局文件
from ui import Win as MainWin
# 导入窗口控制器
from control import Controller as MainUIController

# 将窗口控制器 传递给UI
app = MainWin(MainUIController())

if __name__ == "__main__":
    # 启动
    app.mainloop()

UI层

UI层则是从布局助手下载的py文件。在新架构中,这个文件就不要修改了,在程序入库导入,让后绑定相应的控制器。

窗口控制器

在窗口控制器,主要操作界面上的事件处理,以及UI层组件的初始化赋值等操作。

服务层

如果程序比较简单,业务完全可以在控制器中就能完成。

在此层主要是业务逻辑处理,不要在这里操作UI,涉及到UI层的操作,由控制器来协调处理,在控制层中比较复杂的逻辑,抽象提取出来。

推荐方式

比较简单的程序,建议采用以下方式

1
2
3
|-- control.py        
|-- main.py
|-- ui.py

多窗口的程序

|-- controller        
|   `-- control.py
|-- ui
|   `-- main-ui.py
|-- main.py

示例

示例下载

站长微信
请备注来意
二维码