在python中用于处理用户界面的方法除了Tkinter外还有哪几种?
wptr33 2025-05-08 21:37 3 浏览
Python 是一种通用编程语言,它本身不直接提供 UI(用户界面) 功能,也就是说,如果你只安装了python,那恐怕只能用命令行来运行命令,那谁受得了啊。要知道linux就是因为用户界面不够强大,与windows系统在桌面应用端就竞争不过。但是我们又知道python很强大,应用的领域非常广泛,那又是为什么呢?
python的用户界面
其实python虽然自己不带用户界面,但是它有强大的第三方库和框架,开发者可以用这些工具开发强大的用户界面。例如如果要开发桌面应用程序可以用到Tkinter、PyQt、wxPython等。如果要开发Web 应用程序,可以用到 Flask、Django等。针对移动应用端还可以用到 Kivy、BeeWare等。对于初入门的小白来说,可能只知道Tkinter,因为那是python自带的标准库。
如果使用Tkiner开发用户界面,那么软件界面大概是这样的:
如果使用PySide6来开发用户界面,那么软件界面大概是这样的:这是用PySide6开发的用户界面。可以看到区别还是比较大的。
如果用wxPython开发用户界面,那么软件界面大概是这样的:这是用wxPython开发的用户界面
在python中,处理用户界面的方案还有很多种,下面简单列举一下以供参考。
Tkinter:
- 简介:Python标准库的一部分,简单易用,适合小型应用。
- 特点:跨平台,支持基本控件和布局管理。
- 适用场景:小型桌面应用和快速原型开发。
PyQt/PySide:
- 简介:基于Qt框架,功能强大,适合复杂应用。
- 特点:跨平台,支持丰富控件和高级功能。
- 适用场景:中大型桌面应用,尤其是需要复杂界面和功能的应用。
wxPython:
- 简介:基于wxWidgets,提供原生外观。
- 特点:跨平台,支持多种控件和布局管理。
- 适用场景:需要原生外观的桌面应用。
Kivy:
- 简介:专注于多点触控应用,适合移动和桌面应用。
- 特点:跨平台,支持多点触控和现代UI设计。
- 适用场景:移动应用和需要触控支持的桌面应用。
Dear PyGui:
- 简介:基于即时模式的GUI库,适合高性能应用。
- 特点:跨平台,支持GPU加速和现代UI设计。
- 适用场景:需要高性能和现代UI的应用。
PySimpleGUI:
- 简介:简化GUI开发,适合快速开发。
- 特点:跨平台,支持多种后端(如Tkinter、PyQt等)。
- 适用场景:快速原型开发和小型应用。
Remi:
- 简介:基于Web的GUI库,适合Web应用。
- 特点:跨平台,支持HTML/CSS/JS。
- 适用场景:需要Web界面的应用。
Dash:
- 简介:基于Flask、React和Plotly,适合数据可视化。
- 特点:跨平台,支持交互式数据可视化。
- 适用场景:数据分析和可视化应用。
Flask/Django with HTML/CSS/JS:
- 简介:基于Web的GUI,适合Web应用。
- 特点:跨平台,支持现代Web技术。
- 适用场景:Web应用和需要Web界面的应用。
Textual:
- 简介:基于文本的GUI库,适合终端应用。
- 特点:跨平台,支持文本界面。
- 适用场景:终端应用和需要文本界面的应用。
那么在上述这些方案中,哪些有图形化开发界面呢?
对于编程小白来说,如果开发一款软件什么都要靠敲代码来控制的话,难度是非常大的。所以如果有图形化界面来控制软件布局,那么效率就会提高很多。好的,现在梳理一下上述这么多方案哪些有图形化开发界面。
PyQt/PySide:【回顾一下界面风格,见上文】
- 工具:Qt Designer
- 功能:拖放控件,设置属性和布局,生成.ui文件,可通过pyuic或pyside2-uic转换为Python代码。
Tkinter:【回顾一下界面风格,见上文】
- 工具:PAGE (Python Automatic GUI Generator)
- 功能:拖放控件,生成Python代码,适合快速开发。
wxPython:【回顾一下界面风格,见上文】
- 工具:wxFormBuilder
- 功能:拖放控件,生成XML文件,可通过工具转换为Python代码。
Kivy:
- 工具:Kivy Designer
- 功能:拖放控件,生成Kivy语言文件,适合Kivy应用开发。
总结一下:
PyQt/PySide:功能强大,可以跨平台工作,适合开大中大型桌面应用。处理用户界面方面有图形化开发环境。
Tkinter:python自带的标准工具,作为标准工具,提供了最基础的功能,也可以跨平台工作,适合开发小型桌面应用。
wxPython:提供原生外观的桌面应用。也是可以跨平台开发的。
Kivy:这是为移动应用开发的工具。可以跨平台工作,关键是支持多点触控功能,特别适合手机、平板或者带触控屏的电脑使用。
- 上一篇:【AI大模型】:结合wxauto实现智能微信聊天机器人
- 已经是最后一篇了
相关推荐
- 在python中用于处理用户界面的方法除了Tkinter外还有哪几种?
-
Python是一种通用编程语言,它本身不直接提供UI(用户界面)功能,也就是说,如果你只安装了python,那恐怕只能用命令行来运行命令,那谁受得了啊。要知道linux就是因为用户界面不够强大,...
- 【AI大模型】:结合wxauto实现智能微信聊天机器人
-
文章目录...
- wxPython - 布局管理简介及绝对位置布局
-
实战wxPython系列-009一个典型的GUI程序的窗口界面中,一般是由各种控件(或者部件)组成,这些部件一般都会按一定的布局呈现在窗口中。布局方式可以分为绝对定位布局和相对定位布局,绝对定位布局中...
- wxpython入门第五步(组件)(wxpython控件大全)
-
Widgets在本节中,我们将介绍wxPython中的基本widgets。每个组件都会有一个小的代码示例。wxPython中有很多不同的组件,包括按钮、复选框、滑块和列表框。wx.Buttonwx....
- python+kivy实现极致的跨平台跨终端开发体验
-
这几天查找python资料的时候,偶然发现了一个专为python打造的gui框架:kivy。这是一个很优秀的,基于python的GUI框架。可以利用Python快速编程的特点,快速编写应用程序。它可以...
- Python GUI库大盘点,9款热门框架供您选择!
-
GUI(图形用户界面,GraphicalUserInterface)是一种允许用户通过图形元素(如图标、按钮、窗口等)与电子设备进行交互的用户界面。...
- 第10天 | 25天学会wxPython,事件处理
-
事件,就是程序在运行中发生的事儿,桌面应用软件都是事件驱动的。事件可以是用户的操作,如鼠标点击或按键按下,也可以由系统产生,如定时关机。事件会触发相应的行为,即事件函数。...
- 从零开始搭建HTTPS服务(如何搭建http服务)
-
搭建HTTPS服务的最初目的是为了开发微信小程序,因为wx.request只允许发起HTTPS请求,并且还必须和指定的域名进行网络通信。要从零开始搭建一个HTTPS的服务需要下面4...
- 如何将AI助手接入微信(打开ai手机助手)
-
Dify平台搭建好后就可以创建各种应用,如聊天助手、文本生成、Agent、工作流等,那这些AI助手我们能不能分享给朋友使用,如接入微信、企微等?工具介绍DifyOnWeCha...
- python gui编程框架推荐以及介绍(python开发框架)
-
Python的GUI编程框架有很多,这里为您推荐几个常用且功能强大的框架:Tkinter:Tkinter是Python的标准GUI库,它是Python内置的模块,无需额外安装。它使用简单,功能较为基础...
- Python 程序发送微信(python程序如何发布)
-
在一些日常办公场景中,需要定时自动通知指定账户的微信信息及文件,如果账户很多,可能存在遗漏的情况,借助于以下的Python程序,则可以满足要求。运行时,需保证本地微信已安装并处于登录状态。#se...
- 美化Python GUI界面!让你的窗口拥有Win11般的质感 | pywinstyles
-
1.PythonGUI外观个性化的福音在使用Python开发GUI时,我们经常会使用如Tkinter、PyQt等常见的库,然而这些库的默认界面总显得有些...普通。而如果你想让你的PythonG...
- 推荐10款Python图形界面(GUI)框架
-
图形用户界面(GUI)是用户打开应用程序或网站时的第一印象,这通常包括图标、按钮、图形、显示文本等多种视觉元素,是用户体验的重要组成部分。Python就有大量用于开发GUI的框架,下面给大家介绍10个...
- 开发图形界面Tkinter、wxPython、PyQt、PySide选哪一个?
-
学习Python,就不得不提一下Python的图形界面开发,如果只用命令行写程序,用户体验不太好,难以胜任复杂的人机交互场景。Python的图形界面开发库常用的有:Tkinter、wxPython...
- 利用Python开发App实战(如何用python开发app)
-
我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了。最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻,目前也有了一...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
因果推断Matching方式实现代码 因果推断模型
-
git pull命令使用实例 git pull--rebase
-
面试官:git pull是哪两个指令的组合?
-
git pull 和git fetch 命令分别有什么作用?二者有什么区别?
-
git fetch 和git pull 的异同 git中fetch和pull的区别
-
git 执行pull错误如何撤销 git pull fail
-
git pull 之后本地代码被覆盖 解决方案
-
还可以这样玩?Git基本原理及各种骚操作,涨知识了
-
git命令之pull git.pull
-
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mysql max (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)