前:tkinter的本质就是把tk中的各种组件以一定的布局(pack、place等)组合在一起。其中,一个组件也可以成为另一个的组件的容器。
示例代码:
import tkinter as tk
# 定义一个全局变量,来控制label中text的显示与否
ON_HIT = False
# 1.建立一个窗口(window)
window = tk.Tk()
# 2.设置这个窗口(window)的属性
# 2.1.设置这个窗口(window)的title
window.title("my window")
# 2.2设置窗口大小
window.geometry("200x100")
# 3.布置这个窗口(window)的各种组件:
# 3.1.定义一个label
l_text = tk.StringVar() #l_text 是l(label)这个标签中显示的文本;用的是tk中的变量类型
# Label中的参数:text是label中要显示的内容,通常不变;如果要更改label中显示内容请用参数textvariable
# l = tk.Label(window, text="l_text", bg='green', font=('Arial', 12), width=20, height=2) #长和宽是以字符大小算的,height=2,就是两个字符高
l = tk.Label(window, textvariable=l_text, bg='green', font=('Arial', 12), width=20, height=2) #长和宽是以字符大小算的,height=2,就是两个字符高
# 将咱们定义好的label放在窗口(window)里
l.pack() # tkinter对于布局,有三种方式;pack就是把组件放到上下左右,place就是放到具体的某个点上
def hit_me():
print("点击了按钮")
global ON_HIT
if ON_HIT == False:
ON_HIT = True
l_text.set('you hit me')
else:
ON_HIT = False
l_text.set('')
# 3.2.添加一个button
b = tk.Button(window, text='hit me', width=15, height=2, command=hit_me) # command参数是指:当点击这个button时,执行什么,此处是执行hit_me这个函数
# 将咱们定义好的button安放在窗口(window)中
b.pack()
# 4.运行我们的窗口(window)
window.mainloop()
流程图: