GUI(图形用户界面),顾名思义就是用图形的方式,来显示计算机操作的界面,更加方便且直观。
与之相对应的则是CUI(命令行用户交互),就是常见的Dos命令行操作,需要记忆一些常用的命令,对于普通人而言,操作起来学习难度还是蛮高的。
一个好看又好用的GUI,可以大大提高大家的使用体验,提高效率。
比如你想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没有用户体验的。
所以开发一个图像化的小窗口,就变得很有必要。
今天,小F就给大家介绍七个Python必备的GUI库,每一个都值得学习。
01. 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_())
结果如下。
文档地址:
https://riverbankcomputing.com/software/pyqt/intro
教程链接:
https://www.guru99.com/pyqt-tutorial.html
02. Tkinter
Tkinter是Python中最受欢迎的GUI库之一。由于它简单易学的语法,成为GUI开发初学者的首选之一。
Tkinter提供了各种小部件,例如标签,按钮,文本字段,复选框和滚动按钮等。
支持Grid(网格)布局,由于我们的程序大多数都是矩形显示,这样即使是复杂的设计,开发起来也变得简单些。
# 安装tkinter pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tkinter
下面使用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按钮,会有与之对应的提示。
下面我们使用正确的数据,来看看结果。
使用起来感觉还是不错的。
03. 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()
结果如下。
04. 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()
结果如下。
文档链接:https://www.wxpython.org/
05. 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按钮,窗口消失。
06. PyGUI
PyGUI是一个以简单API而闻名的GUI框架,减少Python应用与平台底层GUI之间的代码量。
轻量级的API,可以让你的应用程序运行起来更流畅,更快速。
同时还开源代码,跨平台项目。目前可在基于Unix的系统,Windows和Mac OS上运行。
Python2和Python3,都是可以支持的。
文档地址:
https://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/
教程链接:
https://realpython.com/pysimplegui-python/
07. Pyforms
Pyforms是用于开发GUI应用程序的一个跨平台框架。
Pyforms是一个Python2.7/3.x跨环境图形应用开发框架,模块化和代码复用可以节省大量工作。
允许应用程序在桌面,Web和终端上运行,无需修改代码。
# 安装PyFroms pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyFroms
文档地址:https://pyforms.readthedocs.io/en/v4/
以上是七个Python必备的GUI库,这次一定要学会!的详细内容。更多信息请关注PHP中文网其他相关文章!

Python在游戏和GUI开发中表现出色。1)游戏开发使用Pygame,提供绘图、音频等功能,适合创建2D游戏。2)GUI开发可选择Tkinter或PyQt,Tkinter简单易用,PyQt功能丰富,适合专业开发。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。 Python以简洁和强大的生态系统着称,C 则以高性能和底层控制能力闻名。

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

Python3.6环境下加载Pickle文件报错:ModuleNotFoundError:Nomodulenamed...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Linux新版
SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Atom编辑器mac版下载
最流行的的开源编辑器