Python Tkinter Menubutton



Python Tkinter Menubutton 是下拉菜单的一部分,它始终停留在屏幕上。每个 menubutton 都与一个 Menu 小部件相关联,当用户单击该 menubutton 时,该 Widget 可以显示该 menubutton 的选项。

语法

以下是创建此小部件的简单语法 -


 w = Menubutton ( master, option, ... )

参数

  • master - 这表示父窗口。
  • options − 这是此小部件最常用的选项列表。这些 options 可以用作用逗号分隔的键值对。
选项 描述
activebackground

鼠标悬停在 menubutton 上时的背景色。

activeforeground

鼠标悬停在 menubutton 上时的前景色。

anchor

此选项控制 Widget 的空间超过文本所需的空间时文本的位置。默认值为 anchor=CENTER,它使文本居中。

bg

显示在标签和指示器后面的正常背景色。

bitmap

要在 menubutton 上显示位图,请将此选项设置为位图名称。

bd

指标周围边界的大小。默认值为 2 像素。

cursor

当鼠标悬停在此 menubutton 上时出现的光标。

direction

设置 direction=LEFT 以在按钮左侧显示菜单;使用 direction=RIGHT 在按钮右侧显示菜单;或使用 direction='above' 将菜单放在按钮上方。

disabledforeground

禁用此 menubutton 时显示的前景色。

fg

鼠标不在 menubutton 上时的前景色。

height

菜单按钮的高度(以文本行为单位)(不是像素!默认设置是使 menubutton 的大小适合其内容。

highlightcolor

当 Widget 具有焦点时,焦点中显示的颜色会突出显示。

image

要在此 menubutton 上显示图像,

justify

此选项控制当文本未填充 menubutton 时文本的位置:使用 justify=LEFT 将文本左对齐(这是默认设置);使用 justify=CENTER 将其居中,或者 justify=RIGHT 进行右对齐。

menu

若要将 menubutton 与一组选项关联,请将此选项设置为包含这些选项的 Menu 对象。该 menu 对象必须是通过将关联的 menubutton 作为其第一个参数传递给构造函数来创建的。

padx

在 menubutton 文本的左侧和右侧留出多少空间。默认值为 1。

pady

在 menubutton 文本的上方和下方留出多少空间。默认值为 1。

relief

选择三维边界阴影效果。默认值为 RAISED。

state

通常,menubuttons 会响应鼠标。设置 state=DISABLED 以使 menubutton 变灰并使其无响应。

text

要在 menubutton 上显示文本,请将此选项设置为包含所需文本的字符串。字符串中的换行符 (“\n”) 将导致换行。

textvariable

可以将类 StringVar 的控制变量与此 menubutton 相关联。设置该控制变量将更改显示的文本。

underline

通常,menubutton 上的文本下方不会显示下划线。要为其中一个字符添加下划线,请将此选项设置为该字符的索引。

width

小组件的宽度(以字符为单位)。默认值为 20。

wraplength

通常,行不会换行。您可以将此选项设置为多个字符,所有行都将分成不超过该数字的片段。

请自行尝试以下示例 -


from tkinter import *
import tkinter
top = Tk()
mb= Menubutton ( top, text="condiments", relief=RAISED )
mb.grid()
mb.menu = Menu ( mb, tearoff = 0 )
mb["menu"] = mb.menu

mayoVar = IntVar()
ketchVar = IntVar()
mb.menu.add_checkbutton (label="mayo", variable=mayoVar)
mb.menu.add_checkbutton (label="ketchup", variable=ketchVar)
mb.pack()
top.mainloop()

执行上述代码时,它会生成以下输出 -

tkinter menubutton