Tkinter(一):Label & Button 标签和按钮
效果图:
生成一个title为my window的窗口,尺寸为500x300
包含一个Label,文字为 “you hit me”
包含一个Button,文字为“hit me”,点击Label文字消失,再点击Label文字出现
import tkinter as tk # 定义窗口 window = tk.Tk() #实例化窗口 window.title('my window') #窗口title window.geometry('500x300') #窗口尺寸 varText = tk.StringVar() # 定义Label,第一个参数为父容器 l = tk.Label(window, textvariable=varText, bg='green', font=('Arial', 25), width=20, height=5) # 安置Label l.pack()
#button的command函数 on_hit = False def hit_me(): global on_hit if (on_hit == False): on_hit = True varText.set("you hit me") else: on_hit = False varText.set("") # 定义button b = tk.Button(window,text='hit me',width=10,height=2,command=hit_me) b.pack() window.mainloop()
Label的相关属性:
anchor:文本或图像在背景内容区的位置,默认为 center,可选值为(n,s,w,e,ne,nw,sw,se,center)eswn 是东南西北英文的首字母,表示:上北下南左西右东。
bg:标签背景颜色
bd:标签的大小,默认为 2 个像素
bitmap:指定标签上的位图,如果指定了图片,则该选项忽略
cursor:鼠标移动到标签时,光标的形状,可以设置为 arrow, circle, cross, plus 等
font:设置字体。
fg:设置前景色。
height:标签的高度,默认值是 0。
image:设置标签图像。
justify:定义对齐方式,可选值有:LEFT,RIGHT,CENTER,默认为 CENTER。
padx:x 轴间距,以像素计,默认 1。
pady:y 轴间距,以像素计,默认 1。
relief:边框样式,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。
text:设置文本,可以包含换行符(\n)。
textvariable:标签显示 Tkinter 变量,StringVar。如果变量被修改,标签文本将自动更新。
underline:设置下划线,默认 -1,如果设置 1,则是从第二个字符开始画下划线
width:设置标签宽度,默认值是 0,自动计算,单位以像素计。
wraplength:设置标签文本为多少行显示,默认为 0。
Button的相关属性:
activebackground:当鼠标放上去时,按钮的背景色
activeforeground:当鼠标放上去时,按钮的前景色
bd:按钮边框的大小,默认为 2 个像素
bg:按钮的背景色
command:按钮关联的函数,当按钮被点击时,执行该函数
fg:按钮的前景色(按钮文本的颜色)
font:文本字体
height:按钮的高度
highlightcolor:要高亮的颜色
image:按钮上要显示的图片
justify:显示多行文本的时候,设置不同行之间的对齐方式,可选项包括LEFT, RIGHT, CENTER
padx:按钮在x轴方向上的内边距(padding),是指按钮的内容与按钮边缘的距离
pady:按钮在y轴方向上的内边距(padding)
relief:边框样式,设置控件3D效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。
state:设置按钮组件状态,可选的有NORMAL、ACTIVE、 DISABLED。默认 NORMAL。
underline:下划线。默认按钮上的文本都不带下划线。取值就是带下划线的字符串索引,为 0 时,第一个字符带下划线,为 1 时,前两个字符带下划线,以此类推
width:按钮的宽度,如未设置此项,其大小以适应按钮的内容(文本或图片的大小)
wraplength:限制按钮每行显示的字符的数量
text:按钮的文本内容
anchor:锚选项,控制文本的位置,默认为中心
我走的很慢,但从不后退