📜  Python Tkinter – 菜单按钮小部件

📅  最后修改于: 2022-05-13 01:55:46.454000             🧑  作者: Mango

Python Tkinter – 菜单按钮小部件

Python为开发 GUI(图形用户界面)提供了多种选择。在所有的 GUI 方法中,tkinter 是最常用的方法。它是Python随附的 Tk GUI 工具包的标准Python接口。带有 tkinter 的Python是创建 GUI 应用程序的最快和最简单的方法。使用 tkinter 创建 GUI 是一项简单的任务。

注意:更多信息请参考Python GUI – tkinter

菜单按钮小部件

Menubutton 小部件可以定义为始终向用户显示的下拉菜单。 Menubutton 用于在Python应用程序中实现各种类型的菜单。

句法:

w = Menubutton ( master, options )

参数:

  • master :此参数用于表示父窗口。
  • options :有许多可用的选项,它们可以用作以逗号分隔的键值对。

选项:
以下是常用的选项可以与此小部件一起使用:-

  • activebackground:这个选项用来表示Menubutton在光标下时的背景颜色。
  • activeforeground:这个选项用来表示Menubutton在光标下时的前景色。
  • bg:此选项用于表示标签和指示器后面显示的正常背景颜色。
  • 位图:此选项用于在按钮上显示单色图像。
  • bd:此选项用于表示指标周围边框的大小,默认值为 2 像素。
  • 锚点:此选项指定当小部件分配的空间超过所需空间时小部件内容的确切位置。
  • 光标:通过使用此选项,鼠标光标将在菜单按钮上方时更改为该模式。
  • disabledforeground:用于渲染禁用的 Menubutton 的文本的前景色。默认值是默认前景色的点画版本。
  • 方向:可以指定方向,使菜单可以显示到按钮的指定方向。
  • fg:此选项用于表示用于渲染文本的颜色。
  • height:此选项用于表示 Menubutton 上的文本行数,默认值为 1。
  • highlightcolor:该选项用于表示Menubutton有焦点时焦点高亮的颜色。
  • image:此选项用于在按钮上显示图形图像。
  • justify:此选项用于控制文本的对齐方式:CENTER、LEFT 或 RIGHT。
  • menu:它表示使用 Menubutton 指定的菜单。
  • padx:这个选项用来表示Menubutton和文本的左右各留多少空间。它的默认值为 1 像素。
  • pady:此选项用于表示在菜单按钮和文本上方和下方留出多少空间。它的默认值为 1 像素。
  • 浮雕: Menubutton 的边框类型。它的默认值设置为 FLAT。
  • state:表示Menubutton的状态。默认情况下,它设置为正常。我们可以将其更改为 DISABLED 以使 Menubutton 无响应。 Menubutton 处于焦点时的状态为 ACTIVE。
  • text:此选项使用换行符(“\n”)来显示多行文本。
  • underline:该选项用于表示文本中要加下划线的字符的索引。索引在文本中从零开始。
  • textvariable:此选项用于表示跟踪菜单按钮状态的关联变量。
  • width:这个选项用来表示Menubutton的宽度。并且还表示为以文本形式表示的字符数。
  • wraplength:该选项将文本分成几段。

例子:

from tkinter import *
  
root = Tk()
root.geometry("300x200")
  
w = Label(root, text ='GeeksForGeeks', font = "50") 
w.pack()
  
menubutton = Menubutton(root, text = "Menu")   
    
menubutton.menu = Menu(menubutton)  
menubutton["menu"]= menubutton.menu  
  
var1 = IntVar()
var2 = IntVar()
var3 = IntVar()
  
menubutton.menu.add_checkbutton(label = "Courses",
                                variable = var1)  
menubutton.menu.add_checkbutton(label = "Students",
                                variable = var2)
menubutton.menu.add_checkbutton(label = "Careers",
                                variable = var3)
    
menubutton.pack()  
root.mainloop()

输出: