分享一个纯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 的基本思想是:

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

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

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

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

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

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

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

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

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

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

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

相关推荐
伍华聪1 个月前
一问一答学习PyQT6,对比WxPython和PyQt6的差异
python开发
伍华聪2 个月前
WxPython跨平台开发框架之使用PyInstaller 进行打包处理
python开发
伍华聪2 个月前
WxPython跨平台开发框架之模块字段权限的管理
python开发
伍华聪2 个月前
WxPython跨平台开发框架之动态菜单的管理和功能权限的控制
python开发
伍华聪2 个月前
WxPython跨平台开发框架之前后端结合实现附件信息的上传及管理
python开发
伍华聪2 个月前
WxPython跨平台开发框架之图标选择界面
python开发
伍华聪2 个月前
WxPython跨平台开发框架之列表数据的通用打印处理
python开发
伍华聪2 个月前
WxPython跨平台开发框架之复杂界面内容的分拆和重组处理
python开发
伍华聪2 个月前
WxPython跨平台开发框架之参数配置管理界面的设计和实现
python开发
伍华聪2 个月前
WxPython跨平台开发框架之表格数据导出到Excel并打开
python开发