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()