Button是一个标准的tkinter组件,用于实现各种各样的按钮。
Button可以包含文本或图像,您可以将Python函数或方法与每个按钮相关联。当按下按钮时,tkinter会自动调用该函数或方法。
虽然按钮只能显示单一字体的文本,但文本可以多行显示。
此外,其中的字符可以加下划线,例如标记键盘快捷键。
默认情况下,可以使用Tab键移动到按钮。
普通按钮使用起来非常简单。
您所要做的就是指定按钮的内容(文本、位图或图像)以及按下按钮时要调用的函数或方法。没有回调的按钮是没有灵魂的
from tkinter import *
master = Tk()
def callback():
print ("click!")
b = Button(master, text="OK", command=callback)
b.pack()
mainloop()
当您在开发应用程序时,很想使用按钮,那就可以先将其禁用。以避免混淆。
b = Button(master, text="Help", state=DISABLED)
如果没有指定按钮大小,那按钮的大小就会自动调整到刚好可以容纳其内容。您可以使用padx和pady选项在内容和按钮边界之间添加额外的空间。 以像素为单位。
b = Button(master, text="OK", command=callback, padx=5, pady=5)
您还可以使用height和width选项来准确地设置大小。
如果在按钮中显示文本,这些选项以文本单位定义按钮的大小。
b = Button(master, text="OK", command=callback, height=2, width=3)
如果显示位图或图像,它们以像素为单位定义大小
pfile = PhotoImage(file='pikapi.gif')
b = Button(master, image=pfile, command=callback)
b.pack()
f = Frame(master, height=32, width=32)
f.pack_propagate(0)
f.pack()
b = Button(f, text="Sure!", command=callback)
b.pack(fill=BOTH, expand=1)
按钮可以显示多行文本(但只能显示一种字体)。
您可以使用换行,或者使用wraplength选项让按钮自动换行。
在包装文本时,使用anchor、justify选项(可能还有padx选项),以实现需求。
longtext = 'sljdflsjfoiewifojgojgojfgsodjfgowfdsgdfgfdgdfgdfgsd'
b = Button(master, text=longtext, anchor=W, justify=LEFT, padx=2, wraplength=100)
b.pack()
让普通的按钮看起来像是按下的,可以简单地将relief从RAISED改为SUNKEN
b = Button(master, text='OK', height=2, width=3)
b.config(relief=SUNKEN)
b.pack()
甚至您可以将图像和文本在同一按钮中显示
pattern = PhotoImage(file='pikapi.gif')
b = Button(master, text="Click me", image=pattern, compound=CENTER)
b.pack()
设置点击按钮时按钮的背景色
b = Button(master, text="Click me")
b.config(activebackground='blue')
b.pack()
设置点击按钮时按钮的前景色,即文本颜色
b = Button(master, text="Click me")
b.config(activeforeground='blue')
b.pack()
控制按钮中文本(或图像)的位置。可选项有N, NE, E, SE, S, SW, W, NW, or CENTER。默认为CENTRE。
b = Button(master, text="Click me", height=20)
b.config(anchor=N)
b.pack()
b = Button(master, text="Click me")
b.config(bg='yellow')
b.pack()
按钮边框的宽度。默认通常是1或2像素。
b = Button(master, text="Click me")
b.config(bd=5)
b.pack()
当鼠标移到按钮上时显示的光标。
b = Button(master, text="Click me")
b.config(cursor='star')
b.pack()
禁用按钮时使用的颜色。
b = Button(master, text="Click me", state=DISABLED)
b.config(disabledforeground='gray')
b.pack()
按钮中使用的字体。该按钮只能包含单一字体的文本。
b = Button(master, text="宋体")
b.config(font='宋体')
b.pack()
用于文本和位图内容的颜色。
b = Button(master, text="宋体")
b.config(foreground='red')
b.pack()
当按钮有焦点时用于突出显示边框的颜色。
当按钮没有焦点时用于突出显示边框的颜色。
突出显示边框的宽度。
定义如何对齐多行文本。可选项有LEFT,RIGHT和CENTRE。
当鼠标移动到组件上时,可以使用其他的relief。
b = Button(master, text="宋体")
b.config(overrelief=SUNKEN)
b.pack()
边框装饰。可选项有SUNKEN,RAISED,GROOVE,RIDGE,FLAT。
按钮的状态:ACTIVE,DISABLE或NORMAL
指示用户可以使用Tab键移动到此按钮。
将tkinter变量(通常是StringVar)关联到按钮。如果变量被更改,按钮文本将被更新。
在文本标签中划线。默认值是-1,这意味着没有任何字符被下划线。
Flash按钮。此方法多次重新绘制按钮,在活动外观和正常外观之间切换。
调用与按钮相关联的命令。