GUI(GraphicalUserInterface),顾名思义,就是用图形来显示计算机的操作界面,更加方便直观。与之对应的是CUI(CommandLineUserInteraction),这是一种常见的Dos命令行操作。它需要记住一些常用的命令。对于普通人来说,要学会操作是相当困难的。一个好看好用的GUI可以极大的提升大家的体验,提高效率。比如你要开发一个计算器,如果只是一个程序输入输出窗口,是没有用户体验的。所以开发一个图形化的小窗口就变得很有必要了。今天小F就给大家介绍7个Python必备的GUI库,每一个都值得学习。01.PyQt5PyQt5是由RiverbankComputing开发的。它基于Qt框架,是一个跨平台的框架,可以为各种平台创建应用程序,包括:Unix、Windows和MacOS。PyQt结合了Qt和Python。它不仅仅是一个GUI工具包。还包括线程、Unicode、正则表达式、SQL数据库、SVG、OpenGL、XML和功能齐全的Web浏览器,以及许多GUI小部件的丰富集合。使用pip安装它。#installPyQt5pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplePyQt5安装成功后,这里有一个简单的HelloWord例子。importsysfromPyQt5.QtWidgetsimportQApplication,QWidget,QLabel,QVBoxLayout#创建应用对象app=QApplication(sys.argv)#创建表单对象w=QWidget()#设置表单大小w.resize(500,500)#设置样式w.layout=QVBoxLayout()w.label=QLabel("HelloWorld!")w.label.setStyleSheet("font-size:25px;margin-left:155px;")w.setWindowTitle("PyQt5window")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.html02。TkinterTkinter是Python中最流行的GUI库之一。由于其简单易学的语法,已成为GUI开发初学者的首选之一。Tkinter提供各种小部件,如标签、按钮、文本字段、复选框和滚动按钮等。支持Grid(网格)布局,因为我们的大多数程序都以矩形显示,即使是复杂的设计也变得更容易开发。#安装tkinterpipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simpletkinter下面使用Tkinter设计一个BMI计算器。将体重和身高作为输入,并在弹出窗口中返回BMI系数作为输出。fromtkinterimport*fromtkinterimportmessageboxdefget_height():#获取身高数据(cm)height=float(ENTRY2.get())returnheightdefget_weight():#获取体重数据(kg)weight=float(ENTRY1.get())returnweightdefcalculate_bmi():#calculateBMI系数try:height=get_height()weight=get_weight()height=height/100.0bmi=weight/(height**2)exceptZeroDivisionError:messagebox.showinfo("Prompt","Pleaseentervalidheightdata!!")exceptValueError:messagebox.showinfo("Prompt","Pleaseentervaliddata!")else:messagebox.showinfo("你的BMI系数是:",bmi)if__name__=='__main__':#Instantiateobject,createwindowTOPTOP=Tk()TOP.bind("",calculate_bmi)#设置窗口的大小(长*宽)TOP.geometry("400x400")#窗口背景色TOP.configure(background="#8c52ff")#WindowtitleTOP.title("BMICalculator")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=标签(TOP,bg="#ffffff",text="输入重量(单位:公斤):",bd=6,font=("Helvetica",10,"bold"),pady=5)LABLE1.place(x=55,y=60)ENTRY1=条目(TOP,bd=8,width=10,font="Roboto11")ENTRY1.place(x=240,y=60)LABLE2=标签(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="Roboto11")ENTRY2.place(x=240,y=121)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.KivyKivy是另一个开源的Python库,最大的优势是可以快速编写移动应用程序(手机)。Kivy可以运行在不同的平台上,包括Windows、MacOS、Linux、Android、iOS和Raspberry皮。此外,它也是免费使用的,并获得了MIT许可证。#installkivypipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplekivy基于Kivy的HelloWorld窗口。fromkivy.appimportAppfromkivy.uix.buttonimportButtonclassTestApp(App):defbuild(self):returnButton(text="HelloKivyWorld")TestApp().run()结果如下。04.wxPythonwxPython是一个跨平台的GUIPython库,可以轻松创建功能强大且稳定的GUI。毕竟是C++写的~目前支持Windows、MacOSX、macOS和Linux。用wxPython创建的应用程序(GUI)在所有平台上都有原生的外观和感觉。#安装wxPythonpipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplewxPython下面使用wxPython创建一个基本的GUI示例。importwxmyapp=wx.App()init_frame=wx.Frame(parent=None,title='WxPythonwindow')init_frame.Show()myapp.MainLoop()结果如下。文档链接:https://www.wxpython.org/05。PySimpleGUIPySimpleGUI也是一个基于Python的GUI框架。可以轻松制作自定义GUI。使用最流行的四种GUI框架QT、Tkinter、WxPython和Remi实现了大部分示例代码,降低了学习难度。Remi将应用程序的界面转换为HTML,以便在Web浏览器中呈现。#安装PySimpleGUIpipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplePySimpleGUI下面是一个简单的案例。importPySimpleGUIassglayout=[[sg.Text("TestPySimpleGUI")],[sg.Button("OK")]]window=sg.Window("Sample",layout)whileTrue:event,values=window.read()ifevent=="OK"orevent==sg.WIN_CLOSED:breakwindow.close()结果如下。单击“确定”按钮,窗口消失。06.PyGUIPyGUI是一个以简单的API着称的GUI框架,减少了Python应用程序和平台底层GUI之间的代码量。轻量级API可以让您的应用程序运行得更流畅、更快。同时还开源代码、跨平台项目。目前在基于Unix的系统、Windows和MacOS上运行。支持Python2和Python3。文档地址:https://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/教程链接:https://realpython.com/pysimplegui-python/07。PyformsPyforms是一个用于开发GUI应用程序的跨平台框架。Pyforms是一个Python2.7/3.x跨环境的图形化应用开发框架,模块化和代码复用可以节省大量工作。允许应用程序在桌面、Web和终端上运行而无需修改代码。#安装PyFromspipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplePyFroms文档地址:https://pyforms.readthedocs.io/en/v4/