Button组件,翻译过来就是按钮组件,它会在窗口上生成一个按钮。
我们可以将指定的函数或者方法与按钮相关联。当用户按下按钮时,对应的函数或方法就会被执行。
Button组件可以包含文本或者图像,从而提示用户这个按钮按下去会有什么作用。
Button 组件常常被用于工具栏、应用程序窗口、和表示接受或拒绝的对话框。
在Button组件中最最最重要的事情就是设置command回调函数。如果一个按钮没有设置相关联的函数或方法,那么它就是一个“花瓶摆设”而已。
下面我们通过两个案例来深入了解一下Button组件。
——
import tkinter as tk
root = tk.Tk()
def show():
print('啊~我被按了一下')
photo = tk.PhotoImage(file='头像2.png')
bt = tk.Button(root,
text='请按我', # 设置文本内容
font=('微软雅黑', 14), # 设置文本的字体和字号
fg='red', # 设置文本的颜色
image=photo, # 设置图片
compound='center', # 设置文本和图片的混合模式
command=show) # 设置调用函数
bt.pack()
root.mainloop()
运行程序后,显示如下,同时我们点击一下按钮就打印出了我们预设的信息内容。
嗯,这个很简单,没有太多好说的。
——
很多时候,我们可能觉得Button组件本身的样式非常难看,就算调节各种参数也无法做出令人满意的按钮样式。
这个时候我们就可以自行设计所需要的按钮样式。
比如,我在PPT中画了一个按钮样式。
这样的按钮很难说通过Button本身的参数调节从而实现。
但是我们可以自己将这样的按钮先设计出来,再保存为图片,最后再Button组件上显示出来即可。
当然,其中还有两个关键的参数要设置,那就是relief='flat'
和bd=0
。
为什么要设置这两个参数,看看下面的对比就知道了。
import tkinter as tk
root = tk.Tk()
def show():
print('用户登录成功!')
photo = tk.PhotoImage(file='登录按钮2.png')
bt1 = tk.Button(root, image=photo, command=show)
bt1.pack(padx=20, pady=20)
bt2 = tk.Button(root, image=photo, relief='flat',bd=0, command=show)
bt2.pack(padx=20, pady=20)
root.mainloop()
运行程序,我们分别单击下两个按钮看一下效果。
有没有发现明显的区别?
通常情况,Button自带的样式根本无法满足我们的审美需求,所以我更喜欢自己先设计好按钮样式,保存为图片,再导入。
再梳理下整个流程:
relief='flat'
和bd=0
。最后来总结一下Button组件中常用的一些参数以及各自的用法。
共计31个,我挑出了其中个人觉得应该首先重点掌握的18个参数。
虽然参数看起来多,但是随着你学习了更多的tkinter窗口组件,会发现很多参数都是大家共有且常用的,比如bd、fg、text、textvariable、anchor、height、width、font、padx、pady等等。