Python生态GUI框架:Tkinter、Kivy、DearPyGui、wxPython、Qt、PyQt、PySide、PyMe、PythonCard

发布时间:2026/8/25 17:25:28

Python生态GUI框架:Tkinter、Kivy、DearPyGui、wxPython、Qt、PyQt、PySide、PyMe、PythonCard
概述本文汇总Python生态体系下GUI开发框架和工具并提供入门案例注没有深度实践。工具特点适合场景学习难度TkinterPython内置简单文档全简单工具、教学、快速原型⭐☆☆☆☆PyQt/PySide功能强大跨平台商业化友好专业桌面应用、需要丰富UI组件⭐⭐⭐⭐☆wxPython原生外观轻量级需要系统原生样式的应用⭐⭐⭐☆☆Kivy移动端友好支持多点触控跨平台移动应用、触摸屏应用⭐⭐⭐☆☆DearPyGui现代游戏风格性能好需要现代UI和实时数据的应用⭐⭐☆☆☆Tkinter作为Python标准库自带无需额外安装简单易用但界面较为老旧官方文档文档1。几个概念Tcl一种动态解释型编程语言可作为一种通用编程语言单独使用但最常见用法还是作为脚本引擎或Tk工具包接口嵌入到C程序中。Tcl库有一个C接口用于创建和管理一个或多个Tcl解释器实例并在这些实例中运行Tcl命令和脚本添加用Tcl或C实现的自定义命令。每个解释器都拥有一个事件队列某些部件可向解释器发送事件交由其处理。与Python不同Tcl的执行模型是围绕协同多任务而设计的Tkinter协调两者差别。Tk用C实现的Tcl包添加用于创建和操纵GUI部件的自定义命令。每个Tk对象都嵌入自己的Tcl解释器实例并将Tk加载到其中。Tk的部件是高度可定制但其代价则是过时的外观。Tk使用Tcl的事件队列来生成并处理GUI事件。Ttk带主题的Tk部件在各平台提供更美观界面。自Tk8.5版本开始作为Tk的成员进行发布。Python引入from tkinter import ttk编程概念控件Tkinter用户界面是由控件组成每个控件都由相应Python对象表示使用诸如ttk.Frame类来实例化控件层级结构控件按层级结构来组织。标签和按钮包含在框架中框架又包含在根窗口中。当创建子控件时其父控件会作为控件构造器的第一个参数被传入配置选项控件具有配置选项用于改变控件外观和行为不同控件类有不同选项集几何管理grid小部件在创建时不会自动添加到用户界面用于控制部件位置事件循环只有主动运行一个事件循环Tkinter才会对用户输入做出反应。Tk接口针对Tcl/Tk GUI工具包的标准Python接口示例importtkinterastkclassApp(tk.Frame):def__init__(self,master):super().__init__(master)self.pack()self.entrythingytk.Entry()self.entrythingy.pack()# 创建应用程序变量self.contentstk.StringVar()# 赋值self.contents.set(this is a variable)# 使输入控件监视此变量self.entrythingy[textvariable]self.contents# 按下回车时绑定回调函数print_contentsself.entrythingy.bind(Key-Return,self.print_contents)defprint_contents(self,event):print(Hi. The current entry content is:,self.contents.get())roottk.Tk()myappApp(root)myapp.mainloop()效果如下问题不能自适应调整输入文本框长度。Tkinter-Designer开源GitHub10.1K Star938 ForkGUI设计器。Vb6Tkinter开源GitHub576 Star143 Fork基于VB6设计Tkinter GUI界面。Kivy官网开源GitHub18.8K Star3.2K Fork跨平台Python GUI框架官方文档中文文档PyPI项目主页。核心模块kivy.core提供各种常用功能Clock时钟类可用于计时器事件支持一次性计时和周期性计时Cache缓存类Gesture Detection手势识别可用来识别各种滑动行为如画个圆圈、方块Kivy LanguageKivy语言用于简洁高效地描述Kivy应用的UIProperties和Python中的属性不同通过UI描述来连接控件代码实战安装pip install kivy示例fromkivy.appimportAppfromkivy.uix.gridlayoutimportGridLayoutfromkivy.uix.labelimportLabelfromkivy.uix.textinputimportTextInputclassLoginScreen(GridLayout):def__init__(self,**kwargs):super(LoginScreen,self).__init__(**kwargs)self.cols2self.add_widget(Label(textusername))self.usernameTextInput(multilineFalse)self.add_widget(self.username)self.add_widget(Label(textpassword))self.passwordTextInput(passwordTrue,multilineFalse)self.add_widget(self.password)classMyApp(App):defbuild(self):returnLoginScreen()if__name____main__:MyApp().run()运行效果Android针对Android平台的开源GitHub8.8K Star2K Fork官方文档。DearPyGui开源GitHub15K Star760 Fork官方文档PyPI项目主页。实战安装pip install dearpygui示例fromdearpyguiimportcore,simpledefsave_callback(sender,data):print(Save Clicked)withsimple.window(Example Window):core.add_text(Hello world)core.add_button(Save,callbacksave_callback)core.add_input_text(string)core.add_slider_float(float)core.start_dearpygui()运行官方demo包fromdearpygui.demoimport*show_demo()start_dearpygui()wxPython官网PyPI项目主页跨平台性好英文文档1中文文档。由五个基本模块组成Controls提供图形应用程序中常见Widgets如Button、Toolbar或Notebook。Widgets在Windows上叫做ControlsCore由开发的基本中用到的基本类组成包括Object类它是所有类的基类Sizers用于Widget布局Events像Point和Rectangle这样的基本几何类GDIGraphics Device Interface图形设备接口用于绘制Widgets的一组类Misc包含各种其他类和模块功能用于记录日志应用程序配置系统设置显示或操纵杆Windows由形成应用程序的各种窗口组成如面板Panel对话框Dialog框架Frame或滚动窗口Scrolled Window。安装pip install wxPython示例QtQt Group官网中文官网官方文档中文文档在线体验。经过多年发展已经成为一个庞大生态Qt FrameworkQt开发框架下面单独介绍QT Creator开源GitHub2.9K Star851 Fork跨平台IDE专为最大限度提高开发者效率而定制集成GitHub Copilot等编码助手可用于桌面、移动端和嵌入式平台设计。需付费使用。设计工具Qt Design Studio通过弥合设计师与开发者之间的鸿沟将设计愿景转化为可运行的UI变革开发流程。Figma To Qt实现Figma设计到终端产品的极速转化以插件形式工作。软件质量Squish跨平台GUI自动化测试工具支持行为驱动开发(Behavior Driven DevelopmentBDD)、脚本编写、测试创建支持多类UI框架包括Qt、Java、Windows、WebHTML/JS、Android、iOS等。Coco跨平台和跨编译器的代码覆盖分析工具包适用于C、C、SystemC、C#、Tcl和QML代码Test Center集中测试管理平台Axivion静态代码分析专为安全关键型软件开发中的嵌入式C、C、C#系统及CUDA应用打造Qt FrameworkQt Core为C添加功能一种非常强大的无缝对象通信机制称为信号和槽可查询和可设计的对象属性分层和可查询的对象树它以一种自然的方式组织对象所有权并使用受保护的指针 (QPointer)可跨库边界工作的动态铸造Qt GUI提供用于窗口系统集成、事件处理、OpenGL和OpenGL ES集成、2D图形、基本图像、字体和文本的类。在Qt用户界面技术内部使用但也可直接使用例如使用低级OpenGL ES图形API编写应用程序。Qt Network为使用TCP/IP的应用程序编程提供API请求、Cookie和通过HTTP发送数据等操作由各种C类处理。Qt Qml为使用QML开发应用程序和库提供框架定义并实现语言和引擎基础架构并提供API使应用程序开发人员能够注册自定义QML类型和模块并将QML代码与JavaScript和C集成。提供QML和C API。Qt Quick编写QML应用程序的标准库提供用QML创建用户界面所需的所有基本类型。提供可视化画布包括用于创建和动画可视化组件、接收用户输入、创建数据模型和视图以及延迟对象实例化的类型。Qt Widgets提供一组用户界面元素用于创建经典的桌面风格用户界面。Qt Test单元测试和基准测试。QSignalSpy类为Qt的信号和槽提供简便的内省功能QAbstractItemModelTester允许对项目模型进行非破坏性测试。PyQt有多个版本PyQt4最后一个版本4.11.4发布于Jun 12, 2015不建议使用PyQt5最后一个版本5.15.11发布于Jul 19, 2024PyQt6当前维护版本新项目可考虑使用。安装pip install PyQt6示例PySideGitHub主页官方文档有多个版本PySide最后一个版本1.2.4发布于Oct 15, 2015不建议使用PySide2最后一个版本5.15.2.1发布于Jan 14, 2022老项目若有使用可维持现状或升级到PySide6PySide6PySide2已升级到5.*版本因此没有PySide3~PySide5最后一个版本6.10.1发布于Nov 20, 2025当前维护版本新项目可考虑使用。importsysfromPySide6.QtCoreimportQtfromPySide6.QtWidgetsimportQApplication,QLabelif__name____main__:appQApplication(sys.argv)labelQLabel(Hello World,alignmentQt.Alignment.AlignCenter)label.show()sys.exit(app.exec())PyMe公司主页官网Python GUI开发IDE工具。核心功能特性可视化开发提供拖拽式界面设计器支持快速创建复杂GUI界面调试运行内置编辑器支持运行和断点调试一键打包发布集成nuitka和PyInstaller支持生成Windows、Linux、MacOS可执行文件及Android apk包AI代码转换代码自动转为可视化工程文件开发者生态内置模板市场和组件商店提供数据库管理、游戏开发等工程框架。设计理念让界面设计和业务逻辑开发在同一环境中无缝进行。提供免费基础版但限4个窗口。VIP解锁无限窗口和代码加密功能月付19.9元或一次性999.9元。作为完整的GUI开发环境集成可视化界面编辑器、代码编辑器、调试器和打包工具提供一站式开发体验。采用所见即所得的设计方式开发者在设计界面时可实时看到界面效果直接为界面元素编写事件处理代码。实时预览即时反馈机制大大减少调试时间。核心功能是可视化界面编辑器工作区左侧是工具箱包含按钮、文本框、标签、列表框等常用控件以及布局容器、菜单、工具栏等高级组件。右侧是属性面板显示当前选中控件的各种属性如尺寸、位置、文本内容、颜色、字体等。中央是设计画布实时展示界面效果。提供强大的布局管理功能支持绝对定位和多种相对布局方式如网格布局、盒式布局等。使得界面能够适应不同尺寸的窗口实现响应式设计。支持多状态界面设计开发者可在同一个界面下设计在不同状态下的表现如正常状态、禁用状态、悬停状态等对于创建交互丰富的现代应用至关重要。在PyMe中每个界面控件都可绑定到一个用户变量这个变量在代码中可直接访问和操作实现界面与数据的双向绑定。修改变量值时界面会自动更新当通过界面修改数据时变量值也会相应变化。这种数据绑定机制大大简化界面与数据的同步问题。事件响应编辑只需在设计界面中选中一个控件通过右键菜单的事件响应弹出事件响应处理对话框选选择需要处理的事件类型然后就可以为事件快速的绑定函数或进行相应的处理比如点击按钮跳转到另一个界面。所有事件处理函数都组织在统一的区域便于查找和维护。主题定制到皮肤商店下载皮肤后通过选择顶部栏上的皮肤方案就可以实现一键换肤。传统的打包解决方案是使用PyInstaller、cx_Freeze等工具将Python应用打包成可执行文件需配置各种参数处理依赖关系会遇到各种问题。打包功能智能依赖分析自动分析项目代码识别所有必要的依赖库确保打包后的应用包含所有必需的组件可定制配置提供高级配置选项允许开发者自定义应用图标、版本信息、启动画面等体积优化采用先进的压缩和优化技术尽可能减少可执行文件的体积同时不牺牲运行效率加密处理对于商业应用PyMe支持直接将代码转成c编译pyd后再打包提高应用的安全度跨平台支持可以为Android系统生成对应的可执行文件。开发者在手机上也能运行应用。用PyInstaller、cx_Freeze等打包工具将Python应用打包成可执行文件但这个过程并不简单需要配置各种参数处理依赖关系会遇到各种问题。PythonCard官网基于wxPythonPyPI项目主页可看到最后一个版本是0.8.1发布于Oct 20, 2004。弃之。

相关新闻

obd-java-api进阶:CommandAvailabilityHelper位运算解析PID可用性,你的车支持哪些数据

obd-java-api进阶:CommandAvailabilityHelper位运算解析PID可用性,你的车支持哪些数据

2026/8/25 17:25:28

obd-java-api进阶:CommandAvailabilityHelper位运算解析PID可用性,你的车支持哪些数据 【免费下载链接】obd-java-api OBD-II Java API 项目地址: https://gitcode.com/gh_mirrors/ob/obd-java-api obd-java-api 是一款对接 OBD-II 诊断协议、兼容…

腾讯WorkBuddy:AI智能体如何重塑桌面办公自动化

腾讯WorkBuddy:AI智能体如何重塑桌面办公自动化

2026/8/25 17:15:28

1. 项目概述:WorkBuddy是什么,以及它想解决什么问题最近在AI应用圈子里,腾讯的WorkBuddy讨论度挺高。简单来说,你可以把它理解为一个“长”在你电脑桌面上的AI智能体工作台。它不是传统的软件,也不是一个简单的聊天机器…

OpenClaw驱动同花顺Skill:构建安全稳定的自动化选股系统

OpenClaw驱动同花顺Skill:构建安全稳定的自动化选股系统

2026/8/25 17:15:28

1. 项目概述:当OpenClaw遇上同花顺官方Skill最近在量化交易和自动化工具圈子里,OpenClaw的热度一直居高不下。作为一个开源的、旨在连接大语言模型与现实世界操作系统的智能体框架,它让“用自然语言指挥电脑干活”这件事变得触手可及。而我作…

obd-java-api快速上手:Maven接入ELM327蓝牙OBD-II并读取发动机RPM完整教程

obd-java-api快速上手:Maven接入ELM327蓝牙OBD-II并读取发动机RPM完整教程

2026/8/25 18:05:30

obd-java-api快速上手:Maven接入ELM327蓝牙OBD-II并读取发动机RPM完整教程 【免费下载链接】obd-java-api OBD-II Java API 项目地址: https://gitcode.com/gh_mirrors/ob/obd-java-api obd-java-api 是一个开源的 OBD-II Java API 库,专门用于对…

C 语言笔记

C 语言笔记

2026/8/25 18:05:30

笔记会不定期补充更新 数据类型 基本类型数据: 整型 整型 -- int 4字节 短整型 -- short int 2字节 长整型 -- long int 8字节 浮点数【实数】 单精度浮点数 -- float …

深圳大学课程资源分享 | 作业与实验报告合集

深圳大学课程资源分享 | 作业与实验报告合集

2026/8/25 18:05:30

✨ 资源简介 本博客整理了作者在深圳大学学习期间完成的​​多门核心课程​​作业与实验报告,涵盖计算机、物理学、数学等多个学科。所有资料均获得​​A或A​​的成绩,现公开分享供SZUers参考学习。 温馨提示​​:欢迎下载借鉴&#xff0c…

Ubuntu旧内核下AX210驱动安装与backport实战指南

Ubuntu旧内核下AX210驱动安装与backport实战指南

2026/8/25 18:05:30

1. 项目概述:为什么AX210在老内核Ubuntu上是个“硬骨头”Intel AX210是Wi-Fi 6E时代的主力无线网卡,支持2.4GHz/5GHz/6GHz三频段、160MHz信道、WPA3加密和蓝牙5.2,性能远超前代AX200。但它的驱动iwlwifi从Linux内核5.10才开始原生集成——这意…

NixOS in Production完整指南:为什么NixOS是SaaS生产部署的最佳选择?DevOps工程师必读书籍深度解读

NixOS in Production完整指南:为什么NixOS是SaaS生产部署的最佳选择?DevOps工程师必读书籍深度解读

2026/8/25 18:05:30

NixOS in Production完整指南:为什么NixOS是SaaS生产部署的最佳选择?DevOps工程师必读书籍深度解读 【免费下载链接】nixos-in-production Source files for the book "NixOS in Production" 项目地址: https://gitcode.com/gh_mirrors/ni/n…

Blockbench 顶点颜色绘制完全指南:5 步搞定低多边形渐变着色

Blockbench 顶点颜色绘制完全指南:5 步搞定低多边形渐变着色

2026/8/25 17:55:29

Blockbench 顶点颜色绘制完全指南:5 步搞定低多边形渐变着色 【免费下载链接】blockbench Blockbench - A low poly 3D model editor 项目地址: https://gitcode.com/GitHub_Trending/bl/blockbench 给低模角色上色,绕不开展开 UV、画贴图、导出一…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/24 19:53:32

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/24 19:56:07

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/24 21:16:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

2026/8/25 0:04:34

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

2026/8/25 0:04:35

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

2026/8/25 0:04:35

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…