Python GUI编程(Tkinter)——Label and Button
Tkinter简介
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。
注意:python3中的tkinter库首字母为小写的
tkinter对象
tkinter对象是运行含有tkinter的py程序时出现的GUI界面,后面的Label\Button\Entry……都要在这个GUI界面上显示
新建一个tkinter对象(新建一个GUI界面)
import tkinter as tk
window = tk.Tk() #新建窗口对象
window.title('my window') #窗口名
window.geometry('200x100')#窗口大小
window.mainloop()#把窗口加载到消息循环中
Label 标签
Label标签是在一个背景(background)上显示某些特定或变化的文本
label = tk.Label(window, text=, bg=, font=, width=, height= )
参数介绍
window
:一个窗口对象tk.Tk()
,代表标签所依附的窗口
text
:str,是标签显示的固定文本,如果要显示一个内容可变的文本需要使用textvariable
textvariable
:可变字符串对象tk.StringVar()
,是标签显示的内容可变的文本
bg
:str,代表背景颜色
font
:二元元组,第一个元素为str,代表字体;第二个元素为int,代表字号
width
:int,代表背景的宽度
height
:int,代表背景的高度
Label实例
variable = tk.StringVar()#专有的字符串变量
label = tk.Label(window,textvariable=variable
,bg='green',font=('Arial',12),
width=15,height=2) #在window上新建标签对象,width和height指的是背景的规格
label.pack()#放置标签
Button 按钮
Button按钮是在一个背景(background)上显示特定的文本,当按下这个按钮后会触发一个关联的函数
button = tk.Button(window,text=,bg=,font=,width=,height=,command=)
参数介绍
window
:一个窗口对象tk.Tk()
,代表button所依附的窗口
text
:str,是button显示的固定文本
bg
:str,代表背景颜色
font
:二元元组,第一个元素为str,代表字体;第二个元素为int,代表字号
width
:int,代表背景的宽度
height
:int,代表背景的高度
command
:代表与button关联的函数
Button实例
button = tk.Button(window,text='hit me!',bg='yellow',font=('Arial',15),
width=15,height=2,command=hit_me)#新建按钮,命令关联到hit_me这个函数
button.pack()#放置按钮
综合运用Label and Button的实例
import tkinter as tk
window = tk.Tk() #新建窗口对象
window.title('my window') #窗口名
window.geometry('200x100')#窗口大小
variable = tk.StringVar()#专有的字符串变量
label = tk.Label(window,textvariable=variable
,bg='green',font=('Arial',12),
width=15,height=2) #在window上新建标签对象,width和height指的是背景的规格
label.pack()#放置标签
on_hit = False
def hit_me():
global on_hit
if on_hit == False:
on_hit = True
variable.set('you hit me')
else:
on_hit = False
variable.set('')
button = tk.Button(window,text='hit me!',
width=15,height=2,command=hit_me)#新建按钮,命令关联到hit_me这个函数
button.pack()#放置按钮
window.mainloop()#持续刷新window