PYQT5设计思路

原文链接 https://www.cnblogs.com/Hamilton-Operator/p/6507820.html

原文的作者提出的设计目标与思路为

本应用是作者秉持“可扩展+最大程度降低重复代码”的理念制作完成的。

一、设计目标

  为了便于后续对代码的修改管理,在设计最初就应该定好一个合理的框架。为了做到这点,作者个人认为有以下几点是必须要遵守的。

1)    禁止组件的个性化命名。这点是很重要的,虽然将某个按钮按照它调用的函数来做相关的命名后,在Debug的时候是很容易修正一些逻辑设计上的问题的。但是当应用越做越大的时候,个性化的命名会“锁住”你的设计框架,从而在人们想要修改设计思路的时候,感到如陷泥沼般的困难。

2)    设计一个函数来批量的”new”你的组件,将你的组件和数据统一放到一个“容器”里,对组件和数据来说这个容器是字典较为合适,而字典的最底层往往是一个列表较为合适。

3)    用属性来代替global变量,毕竟global变量总给人一种很不工整的感觉。

4)    设计每一个页面的时候只写布局和指定每个控件信号对应的槽。

5)    尽量避免定时器的使用。

6)    将鼠标和键盘绑定在和菜单相关的对象上,而非窗体对象本身。

二、设计框架

1)    设计一个父类,其中包含存储控件和全局变量的容器。

2)    设计一个函数统一管理action。

3)    设计一个函数统一管理menu Bar。

4)    设计一个函数,使得该函数针对同类型和槽函数均相同的组件可以批量创建。

5)    设计一个函数,使得该函数可以自动读取存储的数据,并且根据读取的内容调整相关的控件的各种参数。

5)    针对每一个页面,设计一个函数来进行布局和指定每个控件信号对应的槽。

6)    针对每一个页面,设计一个函数来写自定义槽。

6)    设计一个代数模块来统一管理自定义的代数计算相关的类。

7)    设计一个画布模块来统一管理后台的即时动画计算和静态图形的绘制。

      设计一个函数来批量的”new”你的组件,将你的组件和数据统一放到一个“容器”里想法很新颖,看了原代码后还是没完全弄明白,以后要花时间好好阅读设计思想的实现过程。


猜你喜欢

转载自blog.csdn.net/u012474535/article/details/79324363