GUI(Graphics User Interface)图形化用户界面编程
GUI编程类似于"搭积木",将一个个的组件放到窗口中,并给各 个组件赋予相应的事件绑定
常用的GUI库
Tkinter
是python标准的GUI库,支持跨平台的GUI开发,Tkinter适合小型的GUI程序
wxPython
比较流行的GUI库适合大型的应用程序开发,功能强于Tkinter整体框架类似于MFC
PyQT
Qt是一个开源的额GUI库,适合大型的GUI程序开发,PyQT 是Qt工具包的Python实现,我们也可以使用Qt Desginter页面设计器快速开发GUI应用程序
使用 tkinter 包开发第一个程序
tkinter 包 (“Tk 接口”) 是针对 Tcl/Tk GUI 工具包的标准 Python 接口。 Tk 和 tkinter 在大多数 Unix 平台,包括 macOS,以及 Windows 系统上均可使用。
导包
from tkinter import * from tkinter import messagebox
实例化窗口对象
root = Tk()
设置窗口的大小和位置
geometry(widthxheight+x+y)
距离左面和上面的距离,里面参数如果是widthxheight-x-y 就是距离屏幕右边和下面的距离,也可以混用 +x-y距离左下,-x+y距离右上的
root.title("我的的第一个GUI程序") # 参数的格式为:widthxheight+x+y root.geometry("500x300+100+200")
添加按钮组件
btn01 = Button(root) btn01["text"] = "按钮" # 布局管理器,按顺序添加组件 btn01.pack()
绑定事件对象
def songhua(e): # e就是事件对象 # 弹出框 messagebox.showinfo("Message","按钮的相应事件") print('按钮被点击') # "<Button-1>" 鼠标左击 btn01.bind("<Button-1>",songhua)
显示窗口
# 进入事件循环显示窗口,调用它才会看到窗口 root.mainloop()
效果图
相应事件
完整的源码
from tkinter import * from tkinter import messagebox # 实例化一个窗口对象 root = Tk() # 设置窗口的标题 root.title("我的的第一个GUI程序") # 设置窗口的大小和位置 # 参数的格式为:widthxheight+x+y root.geometry("500x300+100+200") btn01 = Button(root) btn01["text"] = "按钮" # 布局管理器,按顺序添加组件 btn01.pack() def songhua(e): # e就是事件对象 # 弹出框 messagebox.showinfo("Message","按钮的相应事件") print('按钮被点击') # "<Button-1>" 鼠标左击 btn01.bind("<Button-1>",songhua) # 进入事件循环显示窗口,调用它才会看到窗口 root.mainloop()