tkinter库Button组件

Button

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()

tkinter库Button组件_第1张图片
您甚至可以用像素单位为文本按钮指定大小,但这需要一些技巧

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()

方法详解

1. activebackground=

设置点击按钮时按钮的背景色

b = Button(master, text="Click me")
b.config(activebackground='blue')
b.pack()

2. activeforeground=

设置点击按钮时按钮的前景色,即文本颜色

b = Button(master, text="Click me")
b.config(activeforeground='blue')
b.pack()

3. anchor=

控制按钮中文本(或图像)的位置。可选项有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()

4. background= / bg=

b = Button(master, text="Click me")
b.config(bg='yellow')
b.pack()

5. borderwidth= / bd=

按钮边框的宽度。默认通常是1或2像素。

b = Button(master, text="Click me")
b.config(bd=5)
b.pack()

6. cursor=

当鼠标移到按钮上时显示的光标。

b = Button(master, text="Click me")
b.config(cursor='star')
b.pack()

7. disabledforeground=

禁用按钮时使用的颜色。

b = Button(master, text="Click me", state=DISABLED)
b.config(disabledforeground='gray')
b.pack()

8. font=

按钮中使用的字体。该按钮只能包含单一字体的文本。

b = Button(master, text="宋体")
b.config(font='宋体')
b.pack()

9. foreground= / fg=

用于文本和位图内容的颜色。

b = Button(master, text="宋体")
b.config(foreground='red')
b.pack()

10. highlightcolor=

当按钮有焦点时用于突出显示边框的颜色。

11. highlightbackground=

当按钮没有焦点时用于突出显示边框的颜色。

12. highlightthickness=

突出显示边框的宽度。

13. justify=

定义如何对齐多行文本。可选项有LEFT,RIGHT和CENTRE。

14. overrelief=

当鼠标移动到组件上时,可以使用其他的relief。

b = Button(master, text="宋体")
b.config(overrelief=SUNKEN)
b.pack()

15. relief=

边框装饰。可选项有SUNKEN,RAISED,GROOVE,RIDGE,FLAT。

16. state=

按钮的状态:ACTIVE,DISABLE或NORMAL

17. takefocus=

指示用户可以使用Tab键移动到此按钮。

18. textvariable=

将tkinter变量(通常是StringVar)关联到按钮。如果变量被更改,按钮文本将被更新。

19. underline=

在文本标签中划线。默认值是-1,这意味着没有任何字符被下划线。

20. flash()

Flash按钮。此方法多次重新绘制按钮,在活动外观和正常外观之间切换。

21. invoke()

调用与按钮相关联的命令。

你可能感兴趣的:(tkinter,python,tkinter)