Resumo : neste tutorial, você aprenderá sobre o widget Tkinter Scrollbar e como vinculá-lo a um widget rolável.
Introdução ao widget da barra de rolagem Tkinter
Uma barra de rolagem permite visualizar todas as partes de outro widget cujo conteúdo normalmente é maior que o espaço disponível.
O widget da barra de rolagem Tkinter não faz parte de nenhum outro widget, como Text e Listbox . Em vez disso, uma barra de rolagem é um widget independente.
Para usar o widget da barra de rolagem, você precisa:
- Primeiro, crie um widget de barra de rolagem.
- Segundo, vincule a barra de rolagem a um widget rolável.
A seguir mostramos como criar um widget de barra de rolagem usando o ttk.Scrollbar
construtor:
scrollbar = ttk.Scrollbar(
container,
orient='vertical',
command=widget.yview
)
Linguagem de código: Python ( python )
Nesta sintaxe:
- A
container
é a janela ou quadro em que a barra de rolagem está localizada. - O
orient
argumento especifica se a barra de rolagem precisa rolar horizontalmente ou verticalmente. - O
command
argumento permite que o widget da barra de rolagem se comunique com o widget rolável.
O widget rolável também precisa se comunicar com a barra de rolagem sobre a porcentagem de toda a área de conteúdo que está visível no momento.
Cada widget rolável possui opções yscrollcommand
e/ou xscrollcommand
. E você pode atribuir o scrollbar.set
método a ele:
widget['yscrollcommand'] = scrollbar.set
Linguagem de código: Python ( python )
Exemplo de widget de barra de rolagem Tkinter
Os Text
widgets são um dos vários tipos de widgets roláveis. O programa a seguir ilustra uma interface de usuário simples que consiste em Text
widgets Scrollbar
:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.resizable(False, False)
root.title("Scrollbar Widget Example")
# apply the grid layout
root.grid_columnconfigure(0, weight=1)
root.grid_rowconfigure(0, weight=1)
# create the text widget
text = tk.Text(root, height=10)
text.grid(row=0, column=0, sticky=tk.EW)
# create a scrollbar widget and set its command to the text widget
scrollbar = ttk.Scrollbar(root, orient='vertical', command=text.yview)
scrollbar.grid(row=0, column=1, sticky=tk.NS)
# communicate back to the scrollbar
text['yscrollcommand'] = scrollbar.set
# add sample text to the text widget to show the screen
for i in range(1,50):
position = f'{i}.0'
text.insert(position,f'Line {i}\n');
root.mainloop()
Linguagem de código: Python ( python )
Saída:
Resumo
- Crie uma barra de rolagem com
ttk.Scrollbar(orient, command)
- O Oriente pode ser
'vertical'
ou'horizontal'
- O comando pode ser
yview
umaxview
propriedade do widget rolável vinculado à barra de rolagem. - Defina a
yscrollcommand
propriedade do widget rolável para que ele seja vinculado à barra de rolagem.