Python 3 - Tkinter Menubutton

Um botão de menu é a parte de um menu suspenso que fica na tela o tempo todo. Cada botão de menu está associado a um widget de Menu que pode exibir as opções para aquele botão de menu quando o usuário clica nele.

Sintaxe

Aqui está a sintaxe simples para criar este widget -

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

Parâmetros

  • master - Isso representa a janela pai.

  • options- Aqui está a lista das opções mais comumente usadas para este widget. Essas opções podem ser usadas como pares de valores-chave separados por vírgulas.

Sr. Não. Opção e descrição
1

activebackground

A cor de fundo quando o mouse está sobre o botão do menu.

2

activeforeground

A cor do primeiro plano quando o mouse está sobre o botão do menu.

3

anchor

Esta opção controla onde o texto é posicionado se o widget tiver mais espaço do que o texto precisa. O padrão é âncora = CENTRO, que centraliza o texto.

4

bg

A cor de fundo normal exibida atrás do rótulo e do indicador.

5

bitmap

Para exibir um bitmap no menu, defina esta opção para um nome de bitmap.

6

bd

O tamanho da borda ao redor do indicador. O padrão é 2 pixels.

7

cursor

O cursor que aparece quando o mouse está sobre este botão do menu.

8

direction

Definir direção = ESQUERDA para exibir o menu à esquerda do botão; use direction = RIGHT para exibir o menu à direita do botão; ou use direction = 'above' para colocar o menu acima do botão.

9

disabledforeground

A cor de primeiro plano mostrada neste botão de menu quando está desativado.

10

fg

A cor do primeiro plano quando o mouse não está sobre o botão do menu.

11

height

A altura do botão de menu em linhas de texto (não pixels!). O padrão é ajustar o tamanho do botão de menu ao seu conteúdo.

12

highlightcolor

Cor mostrada no destaque de foco quando o widget tem o foco.

13

image

Para exibir uma imagem neste menu,

14

justify

Esta opção controla onde o texto está localizado quando o texto não preenche o menu: use justify = LEFT para justificar à esquerda o texto (este é o padrão); use justify = CENTER para centralizá-lo ou justify = RIGHT para justificar à direita.

15

menu

Para associar o botão de menu a um conjunto de opções, defina esta opção para o objeto Menu que contém essas escolhas. Esse objeto de menu deve ter sido criado passando o menubutton associado ao construtor como seu primeiro argumento.

16

padx

Quanto espaço deixar à esquerda e à direita do texto do menu. O padrão é 1.

17

pady

Quanto espaço deixar acima e abaixo do texto do menu. O padrão é 1.

18

relief

Seleciona efeitos de sombreamento de borda tridimensionais. O padrão é RAISED.

19

state

Normalmente, os botões de menu respondem ao mouse. Defina state = DISABLED para esmaecer o botão do menu e torná-lo sem resposta.

20

text

Para exibir texto no menu, defina esta opção para a string que contém o texto desejado. Novas linhas ("\ n") dentro da string causarão quebras de linha.

21

textvariable

Você pode associar uma variável de controle da classe StringVar a este menu. Definir essa variável de controle mudará o texto exibido.

22

underline

Normalmente, nenhum sublinhado aparece sob o texto no menu. Para sublinhar um dos caracteres, defina esta opção para o índice desse caractere.

23

width

A largura do widget em caracteres. O padrão é 20.

24

wraplength

Normalmente, as linhas não são quebradas. Você pode definir esta opção para um número de caracteres e todas as linhas serão quebradas em pedaços não maiores que esse número.

Exemplo

Experimente o seguinte exemplo -

# !/usr/bin/python3
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()

Resultado

Quando o código acima é executado, ele produz o seguinte resultado -