悦风兰泰 发表于 2024-12-3 03:06:43

分享一个纯Python开发的系统程序,基于VSCode + WxPython开发的跨平台应用

本项目是基于 wxPython 开发的 GUI 应用,主要用于管理基础框架内容,包括用户、角色、机构、权限、日志、菜单、字典、附件、通用编码规则、配置管理等基础框架内容。愿景是构建一个基于Python后端Web API或者本地多种数据库操作的通用应用系统,为各类企业提供一站式的管理系统解决方案。
我们可以通过利用其各种界面控件,结合Python跨平台运行的特性,为Windows、MacOS、Ubuntu等Linux系统,开发一套界面效果一致的应用系统。我们可以基于VSCode+wxpython组合实现桌面端的开发。VSCode 是一个高效、快速的代码编辑器,启动速度快,不会占用过多资源,VSCode 支持 Windows、Linux 和 macOS,且在各平台上有一致的用户体验。wxPython 是一个跨平台的 GUI 库,基于原生平台的控件实现,因此应用程序的界面与操作系统的原生应用界面高度一致,提升用户体验。wxPython 支持 Windows、Linux 和 macOS,可以编写一次代码,并在多个操作系统上运行。wxPython 提供了大量的控件,如按钮、文本框、列表框、树形控件、菜单、工具栏等,可以满足桌面应用大部分需求。1、系统功能介绍

1)系统登录界面


2)系统功能界面

工具栏和多文档界面是现代桌面应用程序中常见的界面元素,它们为用户提供了直观的操作和高效的工作流。工具栏通过将常用功能放置在一个可见的位置,让用户可以迅速访问和操作,无需通过多层菜单或子界面进行选择。工具栏的按钮通常使用图标(而非文字),这种视觉方式能减少用户的认知负担,让操作更加直观和高效。
多文档界面(MDI)是一种设计模式,允许用户在同一个应用程序窗口中同时打开多个文档或视图,方便用户在不同任务之间进行快速切换。与每个文档单独打开一个新窗口的方式不同,MDI 通过将多个文档嵌套在同一个父窗口中,帮助用户更高效地管理多个任务。

用户新增、编辑界面如下所示。包括选择树形列表,字典项目的显示和选择,常规数据的录入,关联关系的处理等等

用户快速选择的左侧栏里面,包括组织机构列表和角色列表,我们可以从中选择相应的分类,两个列表可以拖动开来进行显示,如下界面所示。
同时用户可以根据条件进行查询选择,条件区设计可以折叠处理。

树列表或者表格数据控件支持右键弹出菜单处理。

组织机构是一个树形结构列表。
组织机构作为树形结构列表,是一种常见的数据表示方式,用于描述一个组织的层级关系、部门结构或人员关系。在这种结构中,每个节点代表一个组织单元(如部门、职位、团队或个人),而节点之间的父子关系表示组织层级或上下级关系。树形结构使得组织的层次性和关联性更加清晰,并且便于管理和导航。

角色管理,系统为基于角色的用户分配权限,也成为RBAC,RBAC(基于角色的访问控制)是一种通过为用户分配角色来管理他们访问权限的安全模型。
RBAC (Role-Based Access Control) 是一种常见的权限管理模型,广泛用于组织和应用程序中来管理用户的访问权限。RBAC 基于用户的角色来决定其对系统资源的访问权限,而不是直接为每个用户单独配置权限。这种方式简化了权限管理,尤其是在用户数量较多时,更加高效和易于维护。
RBAC 的基本思想是:

[*]角色:角色代表一组用户的权限集合,通常与职位、工作职能或业务需求相关。例如,管理员、普通用户、审核员等。
[*]用户:用户是实际需要访问系统资源的人或实体。
[*]权限:权限是允许用户对某些资源执行特定操作的能力。权限通常与资源(如文件、数据库、系统功能等)和操作(如查看、修改、删除等)相关。

系统定义,是指我们为每个前端分配不同系统标识,用于管理权限点、菜单等资源信息。

功能管理,根据不同的终端系统,定义了对特定资源的操作(如编辑、删除、导入、导出、打印等等)。

菜单管理,用来动态构建工具栏或者菜单资源的管理,通过资源化,可以对角色拥有的菜单进行管理,从而实现动态化的菜单管理和呈现的需求。

系统会根据用户访问和修改数据的相关操作,记录登录日志和操作日志信息,供查询。

通用字典信息的管理,方便一些常见控件的数据使用,如下拉列表、复选框列表、单选框列表等等。为了更好管理字典数据,分为字典类型和字典数据的相关信息管理。

字典数据新增或者编辑界面如下所示。

业务编码规则是一个通用的编码规则设置,方便在系统相关业务表单中引用,生成指定格式的编码,并可以进行递增管理。

业务表编码规则的新增、编辑界面如下所示。

有些业务模块,可能需要二级菜单,我们可以为系统分配二级菜单,工具栏自动判断是否有二级菜单并展示在左侧面板上。

工具栏如果超出界面显示,会自动进行折叠,如右侧所示。

 

来源:https://www.cnblogs.com/wuhuacong/p/18582922
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 分享一个纯Python开发的系统程序,基于VSCode + WxPython开发的跨平台应用