Python 3 – Tkinter Menubutton
Menubutton 是下拉菜单的一部分,一直保持在屏幕上。每个menubutton都与一个Menu小部件相关联,当用户单击它时,可以显示该menubutton的选项。
语法
这是创建此小部件的简单语法 –
w = Menubutton(master, option, ...)
参数
- master - 这表示父窗口。
-
options - 这是此小部件的最常用选项列表。 这些选项可以用逗号分隔的键值对的形式使用。
Sr.No. | 选项及其说明 |
---|---|
1 | activebackground 鼠标悬停在菜单按钮上时的背景颜色。 |
2 | activeforeground 鼠标悬停在菜单按钮上时的前景颜色。 |
3 | anchor 如果窗口小于文本需要的空间,则此选项控制文本的位置。默认为anchor=CENTER,即居中文本。 |
4 | bg 标签和指示器后显示的普通背景颜色。 |
5 | bitmap 要在菜单按钮上显示位图,请将此选项设置为位图名称。 |
6 | bd 指示器周围边框的大小。默认为2像素。 |
7 | cursor 鼠标悬停在此菜单按钮上时显示的光标。 |
8 | direction 将direction=LEFT设置为将菜单向左显示;使用direction=RIGHT将菜单向右显示;或使用direction=’above’将菜单放在按钮上方。 |
9 | disabledforeground 当禁用此菜单按钮时显示的前景颜色。 |
10 | fg 鼠标悬停在菜单按钮上时的前景颜色。 |
11 | height 菜单按钮在文本行中的高度(并非像素)。默认情况下,菜单按钮的大小与其内容相适应。 |
12 | highlightcolor 焦点突出显示时显示的颜色。 |
13 | image 要在此菜单按钮上显示图像, |
14 | justify 当文本无法填满菜单按钮时,此选项可控制文本的位置:使用justify=LEFT将文本左对齐(默认);使用justify=CENTER将其居中,或使用justify=RIGHT将其右对齐。 |
15 | menu 要将菜单按钮与一组选项相关联,请将此选项设置为包含这些选项的菜单对象。该菜单对象必须通过将相关联的菜单按钮作为其第一个参数传递给构造函数来创建。 |
16 | padx 留给菜单按钮文本左右两侧的空间大小。默认为1。 |
17 | pady 留给菜单按钮文本上下两侧的空间大小。默认为1。 |
18 | relief 选择三维边框阴影效果。默认为RAISED。 |
19 | state 通常,菜单按钮对鼠标有响应。将state=DISABLED设置为将菜单按钮变为灰色并使其不响应。 |
20 | text 要在菜单按钮上显示文本,请将此选项设置为包含所需文本的字符串。字符串中的换行符(”\n”)将导致换行。 |
21 | textvariable | 21 | textvariable 您可以将类型为StringVar的控制变量与此menubutton相关联。设置该控制变量将更改显示的文本。 |
22 | underline 通常,在menubutton上的文本下不会出现下划线。要在字符中下划线,请将此选项设置为该字符的索引。 |
23 | width 组件的字符宽度。默认值为20。 |
24 | wraplength 通常,文本不会自动换行。您可以将此选项设置为字符数,并将所有行分成不超过该字符数的部分。 |
例子
请自行尝试以下示例 –
# !/usr/bin/python3
from tkinter import *
import tkinter
top = Tk()
mb = Menubutton(top, text="调料", 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()
结果
当上面的代码被执行时,它会产生以下结果 –