Python图形用户界面纯手搓?Pygubu 组件拖拽,轻松画出你的应用

liftword4个月前 (01-11)技术文章39

传统写Python代码时,我们都是在终端运行和交互的,但如果你想高级一些,像软件或APP一样有交互界面的话,你搜索的第一个答案多半是Tkinter,作为Python 的标准 GUI (Graphical User Interface, 图形用户界面)库,使用 Tkinter 的确可以创建 GUI 应用程序,而且UI效果的话还行。

如果只有一些非常基础或简单几个页面,Tkinter的使用感受还好。但如果交互界面比较复杂,布局有要求,或者页面较多的话,使用纯代码的方式生成UI确实有点反人类。

Pygubu-Designer 是一个用于快速开发 Python tkinter 模块用户界面的 RAD(Rapid Application Designer, 快速应用程序开发)工具。它允许用户通过图形界面设计器轻松创建和编辑 tkinter 应用程序的用户界面,并将设计保存为 XML 文件,然后直接在应用程序中动态加载和使用即可。也就是说再复杂的UI也不用抽象你代码设计了,只要拖拽组件画出来即可。

Pygubu目前分为核心库和设计库,安装很方便,标准的两条pip命令搞定。

安装好后,我们将python的Scripts目录加到系统PATH,或者完整路径启动XXXX\Scripts\pygubu-designer.exe就能打开UI设计界面了。

Pygubu-Designer界面非常简单,左右是Tkinter支持的组件,包括表单、控件、容器、控件及显示、菜单。再往右是UI结构树,再往右是界面预览。最右侧是每个组件的属性设计。用起来和VB比较像。设计好我们需要的交互页面后,我们将其导出为UI文件。从格式上可以看出,之前设计好的交互页面就变成了一个XML文件。

接着我们把在python代码中导入这个文件,即可使用了。其实就是将原来我们完全通过代码“黑盒”写出来的UI,直接通过设计器直观画出来,然后生成xml文件,再导入到python中使用。

对于前端当中的具体内容显示,交互等,只需要通过self.builder来获取相当组件id,然后设计其值就能完成交互和操作了。好了,相比于官方自带的tkinter,Pygubu-Designer可以说是大大降低了代码量,而且整个操作也是非常快捷方便。如果你也有Python GUI开发需求,可以试试。

相关文章

手把手教你用Python做个可视化的“剪刀石头布”小游戏

/1 前言/ 最近在学习PyQt5可视化界面,这是一个内容非常丰富的gui库,相对于tkinter库,功能更加强大,界面更加美观,操作也不难。于是我开始小试牛刀,用PyQt5做个可视化的“剪刀石头布”...

你想要的WinForm界面开发教程在这里 - 如何使用自定义用户控件

DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。点击“了解更多”获取DevExpress WinForm v20.1完整版...

美化Python GUI界面!让你的窗口拥有Win11般的质感 | pywinstyles

1. Python GUI外观个性化的福音在使用Python开发GUI时,我们经常会使用如Tkinter、PyQt等常见的库,然而这些库的默认界面总显得有些...普通。而如果你想让你的Python G...

手把手教你使用Python打造一款摸鱼倒计界面

大家好,我是吴老板。前言前段时间在微博看到一段摸鱼人的倒计时模板,感觉还挺有趣的。于是我用了一小时的时间写了个页面出来 摸鱼办地址 (当然是摸鱼的时间啦)。模板是这样的:摸鱼办公室 【摸鱼办公室】今天...