Barra de rolagem do Tkinter

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.Scrollbarconstrutor:

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 orientargumento especifica se a barra de rolagem precisa rolar horizontalmente ou verticalmente.
  • O commandargumento 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 yscrollcommande/ou xscrollcommand. E você pode atribuir o scrollbar.setmétodo a ele:

widget['yscrollcommand'] = scrollbar.setLinguagem de código:  Python  ( python )

Exemplo de widget de barra de rolagem Tkinter

Os Textwidgets 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 Textwidgets 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 comttk.Scrollbar(orient, command)
  • O Oriente pode ser 'vertical'ou'horizontal'
  • O comando pode ser yviewuma xviewpropriedade do widget rolável vinculado à barra de rolagem.
  • Defina a yscrollcommandpropriedade do widget rolável para que ele seja vinculado à barra de rolagem.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *