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 -