七个Python的GUI库

Python的GUI图形界面工具大全 阅读详情

前言
GUI(图形用户界面),顾名思义就是用图形的方式,来显示计算机操作的界面,更加方便且直观。

与之相对应的则是CUI(命令行用户交互),就是常见的Dos命令行操作,需要记忆一些常用的命令,对于普通人而言,操作起来学习难度还是蛮高的。

一个好看又好用的GUI,可以大大提高大家的使用体验,提高效率。

比如你想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没有用户体验的。

所以开发一个图像化的小窗口,就变得很有必要。

PyQt5
PyQt5由Riverbank Computing开发。基于Qt框架构建,是一个跨平台框架,可以给各种平台创建应用程序,包括:Unix、Windows、Mac OS。

PyQt将Qt和Python结合在一起。它不只是一个GUI工具包。还包括了线程,Unicode,正则表达式,SQL数据库,SVG,OpenGL,XML和功能完善的Web浏览器,以及许多丰富的GUI小部件集合。

使用pip安装一下。
 

# 安装PyQt5
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5

安装成功后,来个Hello Word简单示例。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout

# 建立application对象
app = QApplication(sys.argv)
# 建立窗体对象
w = QWidget()
# 设置窗体大小
w.resize(500, 500)

# 设置样式
w.layout = QVBoxLayout()
w.label = QLabel("Hello World!")
w.label.setStyleSheet("font-size:25px;margin-left:155px;")
w.setWindowTitle("PyQt5 窗口")
w.layout.addWidget(w.label)
w.setLayout(w.layout)

# 显示窗体
w.show()
# 运行程序
sys.exit(app.exec_())

结果如下。

å¾ç

 

Tkinter
Tkinter是Python中最受欢迎的GUI库之一。由于它简单易学的语法,成为GUI开发初学者的首选之一。Tkinter是Python自带的,不需要安装。

Tkinter提供了各种小部件,例如标签,按钮,文本字段,复选框和滚动按钮等。

支持Grid(网格)布局,由于我们的程序大多数都是矩形显示,这样即使是复杂的设计,开发起来也变得简单些。

下面使用Tkinter设计一个BMI计算器。

以重量和高度作为输入,并在弹出框中返回BMI系数作为输出。
 

from tkinter import *
from tkinter import messagebox

def get_height():
    # 获取身高数据(cm)
    height = float(ENTRY2.get())
    return height

def get_weight():
    # 获取体重数据(kg)
    weight = float(ENTRY1.get())
    return weight

def calculate_bmi():
    # 计算BMI系数
    try:
        height = get_height()
        weight = get_weight()
        height = height / 100.0
        bmi = weight / (height ** 2)
    except ZeroDivisionError:
        messagebox.showinfo("提示", "请输入有效的身高数据!!")
    except ValueError:
        messagebox.showinfo("提示", "请输入有效的数据!")
    else:
        messagebox.showinfo("你的BMI系数是: ", bmi)

if __name__ == '__main__':
    # 实例化object,建立窗口TOP
    TOP = Tk()
    TOP.bind("<Return>", calculate_bmi)
    # 设定窗口的大小(长 * 宽)
    TOP.geometry("400x400")
    # 窗口背景颜色
    TOP.configure(background="#8c52ff")
    # 窗口标题
    TOP.title("BMI 计算器")
    TOP.resizable(width=False, height=False)
    LABLE = Label(TOP, bg="#8c52ff", fg="#ffffff", text="欢迎使用 BMI 计算器", font=("Helvetica", 15, "bold"), pady=10)
    LABLE.place(x=55, y=0)
    LABLE1 = Label(TOP, bg="#ffffff", text="输入体重(单位:kg):", bd=6,
                   font=("Helvetica", 10, "bold"), pady=5)
    LABLE1.place(x=55, y=60)
    ENTRY1 = Entry(TOP, bd=8, width=10, font="Roboto 11")
    ENTRY1.place(x=240, y=60)
    LABLE2 = Label(TOP, bg="#ffffff", text="输入身高(单位:cm):", bd=6,
                   font=("Helvetica", 10, "bold"), pady=5)
    LABLE2.place(x=55, y=121)
    ENTRY2 = Entry(TOP, bd=8, width=10, font="Roboto 11")
    ENTRY2.place(x=240, y=121)
    BUTTON = Button(bg="#000000", fg='#ffffff', bd=12, text="BMI", padx=33, pady=10, command=calculate_bmi,
                    font=("Helvetica", 20, "bold"))
    BUTTON.grid(row=5, column=0, sticky=W)
    BUTTON.place(x=115, y=250)
    TOP.mainloop()

界面如下。

å¾ç

当没有数据时,点击BMI按钮,会有与之对应的提示。

下面我们使用正确的数据,来看看结果。

å¾ç

 

Kivy

Kivy是另一个开源的Python库,最大的优点就是可以快速地编写移动应用程序(手机)。

Kivy可以在不同的平台上运行,包括Windows、Mac OS、Linux、Android、iOS和树莓派。

此外也是免费使用的,获得了MIT许可。

# 安装kivy
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple kivy

 一个基于Kivy的Hello World窗口。

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text=" Hello Kivy World ")

TestApp().run()

结果如下。

å¾ç

 

wxPython

wxPython是一个跨平台GUI的Python库,可轻松创建功能强大稳定的GUI,毕竟是用C++编写的~

目前,支持Windows,Mac OS X,macOS和Linux。

使用wxPython创建的应用程序(GUI)在所有平台上都具有原生外观。

# 安装wxPython
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wxPython

下面使用wxPython创建一个基本的GUI示例。

import wx

myapp = wx.App()
init_frame = wx.Frame(parent=None, title='WxPython 窗口')

init_frame.Show()
myapp.MainLoop()

结果如下。

å¾ç

PySimpleGUI
PySimpleGUI也是基于Python的GUI框架。可以轻松制作自定义的GUI。

采用了四种最流行的GUI框架QT、Tkinter、WxPython和Remi,能够实现大多数样例代码,降低了学习难度。

Remi将应用程序的界面转换为HTML,以便在Web浏览器中呈现。
 

# 安装PySimpleGUI
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PySimpleGUI

 下面是一个简单的案例。

import PySimpleGUI as sg

layout = [[sg.Text("测试 PySimpleGUI")], [sg.Button("OK")]]
window = sg.Window("样例", layout)
while True:
    event, values = window.read()
    if event == "OK" or event == sg.WIN_CLOSED:
        break
window.close()

结果如下。

å¾ç

点击OK按钮,窗口消失。

PyGUI
PyGUI是一个以简单API而闻名的GUI框架,减少Python应用与平台底层GUI之间的代码量。

轻量级的API,可以让你的应用程序运行起来更流畅,更快速。

同时还开源代码,跨平台项目。目前可在基于Unix的系统,Windows和Mac OS上运行。

Python2和Python3,都是可以支持的。

Pyforms

Pyforms是用于开发GUI应用程序的一个跨平台框架。

å¾ç

 

Pyforms是一个Python2.7/3.x跨环境图形应用开发框架,模块化和代码复用可以节省大量工作。

允许应用程序在桌面,Web和终端上运行,无需修改代码。

# 安装PyFroms
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyFroms

分享到这就结束了,大家记得多点赞+评论哦!下面还可以加群领取资料,帮助大家一起学习哦!

Python之GUI编程 一、常用的GUI库 Tkinter:tkinter(Tk interface)是Python的标准GUI库,支持跨平台的GUI程序开发,tkinter适合小型的GUI程序编写,也特别适合初学者学习GUI编程。 wxPython:wxPython是比较流行的GUI库,适合大型应用程序开发,功能强宇tkinter,整体设计框架类似于MFC(Microsoft Foundation Classes 微软基础类库) PyQT:Qt是一种开源的GUI库,适合大型GUI程序开发,PyQT是Qt工具包标准的Pyt. 阅读详情

相关推荐

python怎么做gui界面,python gui界面设计

relief 指定边框样式,取值为FLAT(扁平,默认值) 、RAISED(凸起)、 SUNKEN(凹 陷)、RIDGE(脊状)、GROOVE(凹槽)和 SOLID(实线)使用grid()方法的布局被称为网格布局,它按照二维表格的形式,将容器划分为若干行和列,组件的位置由行列所在位置确定。● 容器中组件的布局是很繁琐的,需要调整组件自身的大小,还要设计和其他组件的相对位置。

Rtee1的博客 2470

这13个Python GUI库,正在学习Python的你必须知道

Life is short,you need Python

人生苦短, 还不用Python? 2257

七个Python必备的GUI库

Python GUI库

Elvis Hu的博客 863

好看又好用的 GUI,你需要这七个 Python 必备库,

来源|法纳斯特头图 | 下载于ICphotoGUI(图形用户界面),顾名思义就是用图形的方式,来显示计算机操作的界面,更加方便且直观。与之相对应的则是CUI(命令行用户交互),就是常见...

AI科技大本营 8234

新手DIY无人机,从电机到飞控,这份配件清单和避坑指南请收好

本文为无人机DIY新手提供从电机到飞控的完整配件清单和避坑指南。详细解析电机KV值选择、电调匹配、飞控系统调试等核心问题,帮助初学者避开常见雷区,顺利完成首飞。特别推荐FPV竞速机和航拍机的配件组合方案,并附赠实用调试命令和故障排查表。

weixin_27032989的博客 237

1.47寸ST7789V3彩屏硬件设计与驱动调试指南

TFT LCD是一种基于薄膜晶体管阵列控制像素明暗的主动式显示技术,其核心依赖于专用驱动IC(如ST7789V3)完成时序生成、GRAM管理与伽马校正。该类小尺寸彩色显示屏广泛应用于嵌入式HMI、IoT终端与可穿戴设备,具备高PPI、低功耗和SPI接口易集成等工程优势。理解RGB565数据格式、SPI Mode 0通信时序及关键寄存器(如0x36方向控制、0x3A像素格式、0x2A/0x2B地址窗口)是实现稳定显示的基础;而正确处理电源设计(严禁5V直供)、复位时序与背光PWM调光,则直接决定系统可靠性与能

weixin_30995917的博客 166

七个Python必备的GUI库,这次一定要学会!

GUI(图形用户界面),顾名思义就是用图形的方式,来显示计算机操作的界面,更加方便且直观。与之相对应的则是CUI(命令行用户交互),就是常见的Dos命令行操作,需要记忆一些常用的命令,对于普通人而言,操作起来学习难度还是蛮高的。一个好看又好用的GUI,可以大大提高大家的使用体验,提高效率。比如你想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没有用户体验的。所以开发一个图像化的小窗口,就变得很有必要。今天,小F就给大家介绍七个Python必备的GUI库,每一个都值得学习。

m0_74942241的博客 1万+

代码实现 —— 基于 STM32 的可见光通信系统课程设计

基于STM32F103ZET6,源码如需移植,需要修改定时器捕获通道引脚,及定时器,如果你也有这个课设任务,希望对你有所帮助。

不善挽留 1万+

七个 Python 必备的 GUI 库,这次一定要学会!

GUI(图形用户界面),顾名思义就是用图形的方式,来显示计算机操作的界面,更加方便且直观。与之相对应的则是CUI(命令行用户交互),就是常见的Dos命令行操作,需要记忆一些常用的命令,对于...

涛哥聊Python 885

MediaCodec视频解码流程详解及参考demo

本文主要讲解mediacodec的视频解码流程,及demo参考例子。

分享音视频技术 7877

HyperLedger Fabric实战(一):基础环境构建

简介 本文将介绍从一台裸机上面如何构建出一个可用的Fabric网络(单机版,非测试网络)。 基础环境构建 Fabric组件安装

yindarui 1万+

七个Python GUI 库,学会后做不出来的界面!非常好用!

GUI(图形用户界面),顾名思义就是用图形的方式,来显示计算机操作的界面,更加方便且直观。 与之相对应的则是CUI(命令行用户交互),就是常见的Dos命令行操作,需要记忆一些常用的命令,对于普通人而言,操作起来学习难度还是蛮高的。 一个好看又好用的GUI,可以大大提高大家的使用体验,提高效率。 比如你想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没有用户体验的。 所以开发一个图像化的小窗口,就变得很有必要。 今天,小F就给大家介绍七个Python必备的GUI库,每一个都值得学习。 01. PyQ.

人生苦短, 还不用Python? 7014

创客学院嵌入式驱动开发——学习资料汇总

1.创客学院知识巩固-01C语言回顾_C/C++_Set_Mode的博客-优快云博客https://blog.youkuaiyun.com/Set_Mode/article/details/94431050 2.创客学院知识巩固-02数据结构_Set_Mode的博客-优快云博客https://blog.youkuaiyun.com/Set_Mode/article/details/94431087 3.创客学院知...

snaking616 5117

这七个Python GUI 库,学会后没有你做不出来的界面,这还不赶紧学起来

前言 嗨喽,大家好,这里是魔王~ GUI是在1970年代末开发的,在GUI之前是CLI或命令行界面,这是技术人员或专业人员普遍使用的怪异界面。 Xerox开发了第一个可商用的GUI,名为PARC。 它与命名为Xerox 8010信息系统一起发布,该信息系统于1981年发布。 此后,史蒂夫·乔布斯在施乐公司的一次巡回演出中看到了GUI。 这是1984年发布的名为Macintosh的个人计算机的基于Apple的Apple的基于GUI的操作系统。 此版本之后,Windows还启动了基于GUI的操作系统开发,198

python56123的博客 3121

Windows 下运行 openclaw 出现“‘openclaw‘ 不是内部或外部命令,也不是可运行的程序或批处理文件“的解决方案

方案适用场景推荐指数检查并手动添加 PATH明确知道全局安装目录,只是没加进PATH⭐⭐⭐⭐⭐pnpm setup 自动配置使用 pnpm 安装,想要省心的自动化方式⭐⭐⭐⭐⭐npx 免安装临时运行快速验证核心程序是否正常,排除法排查⭐⭐⭐⭐清理残留后重装npm/pnpm 混用导致版本混乱⭐⭐⭐⭐改用 WSL2不熟悉 Windows 路径体系,长期使用⭐⭐⭐'openclaw' 不是内部或外部命令这类报错,本质上不是"程序坏了",而是。

一键难忘的博客 1万+

强化学习原理及应用作业之动态规划算法【SYSU_2023SpringRL】

本次实践作业将在以下环境进行: 该环境由一个 6×6 网格组成,其中黄色圆圈为智能体出发点,黑色格子为无法通过的墙壁,若智能体向着墙壁方向移动,则会停留在原地,地图边界的移动同理。带有黄色边框的格子为终止状态,即若智能体行动至此状态则整个 episode 结束。红色和绿色表示当前该状态的奖励值,奖励越高则绿色越深,奖励越低则红色越深。状态空间:36(0-35 这 36 个整数,左下角为 0,向右 +1,向上 +6)动作空间:4(0-3 这 4 个整数分别代表左、右、上、下)奖励函数:普通格子 -0.1,到

zik的博客 1398

七个Python可视化界面设计器简介(不是GUI库)

Wx版说明及下载地址https://www.kancloud.cn/duolabmeng/pyefundoc/2334421。地址https://github.com/wxFormBuilder/wxFormBuilder。QT版地址:https://gitee.com/duolabmeng666/pyefun。Wx的控件最全,可以复制粘贴控件,必须用布局管理器,但是可编辑属性少,主要是位置大小。自带编译指令,依赖库查找。地址https://www.py-me.com/ 交流q群100180960。

汉字最好欢迎你 8142

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

七个Python GUI 库,学会后做不出来的界面!非常好用(1)

return weightdef calculate_bmi():try:height = get_height()weight = get_weight()height = height / 100.0bmi = weight / (height ** 2)except ZeroDivisionError:messagebox.showinfo(“提示”, “请输入有效的身高数据!!”)except ValueError:messagebox.showinfo(“提示”, “请输入有效的数据!”)else

jixuczy的博客 470

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

七个Python GUI 库,学会后做不出来的界面!非常好用,面试必知必会

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~给大家准备的学习资料包括但不限于:Python 环境、pycharm编辑器/永久激活/翻译插件python 零基础视频教程Python 界面开发实战教程Python 爬虫实战教程Python 数据分析实战教程python 游戏开发实战教程Python 电子书100本。

m0_57473261的博客 1137

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 学习python的第一步,记住这些单词,一周就能上手敲代码
下一篇: 顶级白嫖!!!八个python免费自学网站一周搞定python(抓紧收藏)
python2021_
博客等级 码龄6年 1730粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值