Python GUI 好用的设计观念

无论是使用Tkinter、PyQt5、PySide2、PyQt6、PySide6 都没关系,在设计观念中有几点是笔者觉得相对重要的部分

  • 喜欢拖拉式建构介面的选择方案
    • Qt Designer (for PyQtX/ PySide X series)
    • PAGE (for Tkinter)
    • others ...

使用拖拉式的形式可以快速地产生静态是程序码,但其实这类型的程序码产生出来後的行数庞大,且不符合PEP结构,阅读相对困难。笔者建议的设计方式是仿照网页框架的作法:

  • 静态部分: 使用拖拉式IDE 产生UI档或python 程序码档案
  • 动态部分: 建议直接使用手刻的形式去撰写,这样就可以预防产生出来的程序码过度肥大的困绕

关於流程:

应该分成UI介面、呼叫UI功能的主程序、逻辑或其他附属功能的程序
会建议这样设计的原因是UI介面 可以被GUI Designer 随时修改及产生新版的静态程序码,而不动到所有程序。

笔者目前是依照这个架构在各种撰写的专案中使用这个形式,搭配模组化及半物件导向的形式再做设计,除了好维护之外也可让程序码变成相对的好阅读。


<<:  [Day26]约束规则、更改结构

>>:  【後转前要多久】# Day26 JS - 事件、监听

故事的例子

先说明:今天加班到现在,所以先写一点点,後续再补上。 前天的文章有一位读者提问: 如果将团队在组织中...

DAY 15 『 Realm 新增、修改、删除 』Part3

昨天分享如何新增、修改、删除、印出 Realm 资料库的资料,以及读取 Realm 资料库的资料去更...

分散式资料库:分散式理论

分区容错性(Partition Tolerance)是分散式资料库最重要的特性,"BASE...

[Day 4] lock-free and CAS

前言 昨天聊到原子操作时提到了2个名词, 有些人可能不熟, 会在今天简单说明。明天会有相应的实作。 ...

#19 JS: Modified functions & how function create spaces

Modified functions(变形函式) Before introducing modifi...