四、Tkinter的Button按钮控件
Button
控件是 Tkinter 中常用的窗口部件之一,同时也是实现程序与用户交互的主要控件。用户通过点击按钮的行为来执行回调函数,是 Button
控件的主要功用。首先自定义一个函数或者方法,然后将函数与按钮关联起来,最后,当用户按下这个按钮时,Tkinter 就会自动调用相关函数。
from tkinter import Tk, Button
# 创建窗口
win = Tk()
# 设置回调函数
def callback():
print("click me!")
# 使用按钮控件调用函数
Button(win, text="点击触发事件", command=callback).pack()
# 显示窗口
win.mainloop()
Button
按钮控件的常用函数 -
名称 | 说明 |
---|---|
anchor | 控制文本所在的位置,默认为中心位置(CENTER) |
activebackground | 当鼠标放在按钮上时候,按妞的背景颜色 |
activeforeground | 当鼠标放在按钮上时候,按钮的前景色 |
bd | 按钮边框的大小,默认为 2 个像素 |
bg | 按钮的背景色 |
command | 用来执行按钮关联的回调函数。当按钮被点击时,执行该函数 |
fg | 按钮的前景色 |
font | 按钮文本的字体样样式 |
height | 按钮的高度 |
highlightcolor | 按钮控件高亮处要显示的颜色 |
image | 按钮上要显示的图片 |
justify | 按钮显示多行文本时,用来指定文本的对齐方式,参数值有 LEFT/RIGHT/CENTER |
padx/pady | padx 指定 x 轴(水平方向)的间距大小,pady 则表示 y轴(垂直方向)的间距大小 |
ipadx/ipady | ipadx 指标签文字与标签容器之间的横向距离;ipady 则表示标签文字与标签容器之间的纵向距离 |
state | 设置按钮的可用状态,可选参数有NORMAL/ACTIVE/DISABLED,默认为 NORMAL |
text | 按钮控件要显示的文本 |
下面演示Button按钮的简单应用 -
from tkinter import Tk, messagebox, Button
win = Tk()
# 设置窗口的标题
win.title('Python自学')
# 设置并调整窗口的大小、位置
win.geometry('480x270+300+200')
# 当按钮被点击的时候执行click_button()函数
def click_button():
# 使用消息对话框控件,showinfo()表示温馨提示
messagebox.showinfo(title='温馨提示', message='欢迎使用Python自学')
# 点击按钮时执行的函数
Button(win, text='前往', bg='#7CCD7C', width=20, height=5, command=click_button).pack()
# 显示窗口
win.mainloop()
上面可以看到点击Button按钮控件触发相应事件,当用户点击“前往”按钮,触发生成新的对话框。
下面增加按钮背景图,代码如下 -文章来源:https://www.toymoban.com/news/detail-568553.html
from tkinter import Tk, messagebox, Button, PhotoImage
win = Tk()
# 设置窗口的标题
win.title('Python自学')
# 设置并调整窗口的大小、位置
win.geometry('480x270+300+200')
# 当按钮被点击的时候执行click_button()函数
def click_button():
# 使用消息对话框控件,showinfo()表示温馨提示
messagebox.showinfo(title='温馨提示', message='欢迎使用Python自学')
img = PhotoImage(file="./btn1.png")
# 点击按钮时执行的函数
Button(win, text='确定', image=img, bg='#7CCD7C', width=100, height=50, command=click_button).pack()
# 显示窗口
win.mainloop()
这里按钮的布局也可以使用grid() 网状布局 -
参数值有 N/S/W/E(上/下/左/右),而且可以组合在一起使用文章来源地址https://www.toymoban.com/news/detail-568553.html
from tkinter import messagebox,Tk,Button,Label,Entry
win = Tk()
win.title("C语言中文网")
win.iconbitmap('./python.png')
win.geometry('380x270+100+100')
win.resizable(0, 0)
# 将俩个标签分别布置在第一行、第二行
Label(win, text="账号:").grid(row=0)
Label(win, text="密码:").grid(row=1)
# 创建输入框控件
e1 = Entry(win)
# 以 * 的形式显示密码
e2 = Entry(win, show='*')
e1.grid(row=0, column=1, padx=10, pady=5)
e2.grid(row=1, column=1, padx=10, pady=5)
# 编写一个简单的回调函数
def login():
messagebox.showinfo(title='登录成功',message="欢迎您到来")
# 使用 grid()的函数来布局,并控制按钮的显示位置
Button(win, text="登录", width=12, command=login).grid(row=3, column=0, sticky="W", padx=10, pady=5)
Button(win, text="退出", width=12, command=win.quit).grid(row=3, column=1, sticky="E", padx=10, pady=5)
win.mainloop()
到了这里,关于【Python】【进阶篇】四、Tkinter的Button按钮控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!