Resumo : neste tutorial, você aprenderá como usar o widget Tkinter Notebook para criar abas.
Introdução ao widget Tkinter Notebook
O Notebook
widget permite que você selecione páginas de conteúdo clicando nas guias:
Ao clicar em uma dessas guias, o Notebook
widget exibirá um painel secundário associado à guia selecionada. Normalmente, um painel filho é um Frame
widget.
Para criar um Notebook
widget, você usa a ttk.Notebook
classe da seguinte forma:
notebook = ttk.Notebook(master,**kw)
Linguagem de código: Python ( python )
Nesta sintaxe:
master
: este é o widget pai do notebook. Normalmente, é a janela principal.**kw
: permite especificar argumentos de palavras-chave que controlam a aparência do widget Notebook.
O widget Notebook possui algumas opções úteis. Por exemplo, você usa opções height
e width
para especificar o espaço alocado para o widget. Além disso, você pode adicionar algum espaço na parte externa do widget usando a padding
opção.
Métodos de caderno
A ttk.Notebook
classe fornece muitos métodos úteis que permitem gerenciar guias de maneira eficaz.
A seguir descrevemos os mais comumente usados:
adicionar(filho, **kwargs)
O add()
método adiciona um widget filho a uma janela. O **kwargs
argumento é uma ou mais opções. Aqui estão os importantes:
- O
child
é um widget para adicionar ao notebook. - A
text
opção especifica o rótulo que aparece na guia - A
image
opção especifica a imagem a ser exibida na aba. - Se você usar as opções
text
eimage
, precisará usar acompound
opção. A opção composta descreve a posição da imagem em relação ao texto. Pode sertk.TOP
,tk.BOTTOM
,tk.LEFT
,tk.RIGHT
,tk.CENTER
. Por exemplo,tk.LEFT
colocaria oimage
à esquerda dotext
. - A
underline
opção que leva zero ou um número inteiro positivo. Especifica o caractere em uma posição do texto na tabulação a ser sublinhado.
ocultar(tabId)
O hide()
método remove temporariamente a aba identificada pelo tabId
Notebook. As guias têm um índice baseado em zero, o que significa que a primeira guia começa em zero.
Para mostrar a aba, você precisa chamar o add()
método novamente. Não há show()
método correspondente.
esquecer (criança)
Remove permanentemente forget()
o widget especificado child
do notebook.
Exemplo de widget Tkinter Notebook
O programa a seguir mostra como criar um notebook com duas abas:
import tkinter as tk
from tkinter import ttk
# root window
root = tk.Tk()
root.geometry('400x300')
root.title('Notebook Demo')
# create a notebook
notebook = ttk.Notebook(root)
notebook.pack(pady=10, expand=True)
# create frames
frame1 = ttk.Frame(notebook, width=400, height=280)
frame2 = ttk.Frame(notebook, width=400, height=280)
frame1.pack(fill='both', expand=True)
frame2.pack(fill='both', expand=True)
# add frames to notebook
notebook.add(frame1, text='General Information')
notebook.add(frame2, text='Profile')
root.mainloop()
Linguagem de código: Python ( python )
Saída:
Como funciona.
Primeiro, crie um widget de notebook cujo pai seja a janela raiz:
notebook = ttk.Notebook(root)
notebook.pack(pady=10, expand=True)
Linguagem de código: Python ( python )
Segundo, crie dois quadros cujo pai seja o notebook:
frame1 = ttk.Frame(notebook, width=400, height=280)
frame2 = ttk.Frame(notebook, width=400, height=280)
frame1.pack(fill='both', expand=True)
frame2.pack(fill='both', expand=True)
Linguagem de código: Python ( python )
Terceiro, adicione esses frames ao notebook usando o método add():
notebook.add(frame1, text='General Information')
notebook.add(frame2, text='Profile')
Linguagem de código: Python ( python )
Resumo
- Use a
ttk.Notebook
classe para criar um widget de notebook. - Use o
add()
método para adicionar uma guia ao bloco de notas. - Use o
hide()
método para remover temporariamente uma guia do notebook. Para remover uma guia permanentemente, use oforget()
método.