一、介绍
Tkinter是Python默认的GUI库,我们经常使用的IDLE就是用Tkinter设计出来的,因此我们在使用的时候直接导入Tkinter模块就好了。
1.特点:可移植性、灵活性高
2.构成:Tk + interface = Tkinter
二、第一次体验Tkinter
1.接下来举个例:
import tkinter as tk root = tk.Tk() # 创建一个主窗口,用于容纳整个GUI程序 root.title("YfacesClub") # 设置主窗口对象的标题栏 theLable = tk.Label(root,text = "我的第二个窗口程序") # 生成标签,Lable组件可以显示文本、图标或者图片 theLable.pack() # 将标签添加到主窗口,调用Lable组件的pack()方法,用于自动调节组件自身的尺寸 root.mainloop() # 显示窗口,执行后,程序进入主事件循环
执行程序后,如图:
三、封装成类
举个例子:
class App(): def __init__(self, root):
# 创建一个框架,然后在里面添加一个Button按钮组件
# 框架一般是用于在复杂的布局中起到将组件分组的作用
frame = tk.Frame(root) frame.pack(side = tk.LEFT, padx=10, pady=10) # 自定义按钮组件的方位 # 创建一个按钮组件,fg是foreground的缩写,就是设置前景色的意思
self.yfaces = tk.Button(frame,text = "打招呼",bg = "red",fg = "blue", command = self.say_hi) # command参数:指定按钮消息的回调函数
self.yfaces.pack(side = tk.LEFT) # 通过修改pack()的side参数来设置LEFT,RIGHT,TOP,TOTTOM的四个方位,默认的设置是side=tkinter.TOP def say_hi(self): print("朋友们好,我是YfacesClub")
# 创建一个toplevel的根窗口,并把它作为参数实例化app对象 root = tk.Tk() root.title("YfacesClub") app = App(root)
# 开始主事件循环 root.mainloop()
1.pack()方法--用于自动调节组件自身的尺寸
side参数:组件在主窗口的位置
使用格式:pack(side=tk.LEFT)
LEFT:左对齐
RIGHT:右对齐
TOP:顶部
BOTTOM:底部
padx参数:自定义按钮的偏移位置,x轴间距
pady参数:自定义按钮的偏移位置,y轴间距
2.Button按钮组件
参数:
fg(foreground):设置前景色
bg(background):设置背景色