Scrollbar

fr = tk.Scrollbar(parent, opcao=valor, ...)

Cria um scrollbar ou barra deslizante Frame numa janela ou numa frame, ‘parent’.

O construtor retorna o objeto Scrollbar.

O scrollbar ou barra deslizante permite deslocar o conteúdo, de alguns componentes, que ultrapassa o tamanho da area de visualização.

O deslizamento pode ser vertical ou horizontal podendo um componente ter ambas as barras de deslizamento.

Atributos

OpçãoDescrição
activebackgroundCor da barra de deslizamento e das setas quando o cursor está sobre elas.
activereliefPor defeito, o relevo da barra de deslizamento é tk.RAISED. Pode-se atribuir nesta opção outro estilo de relevo.
bd ou borderwidthEspessura do bordo 3-D à volta do scrollbar, da barra de deslizamento e das setas. Valor de defeito: 2 pixeis à volta da barra de deslizamento e das setas e 0 à volta do scrollbar.
bg ou backgroundCor de fundo da barra de deslizamento e das setas quando o rato não está sobre elas.
commandFunção a ser chamada quando a scrollbar é deslizada.
cursorNome do cursor a ser mostrado quando o rato está sobre a scrollbar.
elementborderwidthEspessura da borda à volta da barra de deslizamento e das setas. Valor de defeito -1.
highlightbackgroundCor do foco quando a scrollbar nao tem o foco.
highlightcolorCor do foco quando a scrollbar tem o foco.
highlightthicknessEspessura do foco. Valor de defeito 1. Definir como 0 para suprimir a espessura do foco.
jumpEsta opção controla o que acontece quando o utilizador arrasta a barra de deslizamento. Normalmente (jump=0), cada pequeno deslizamento causa a chamada da função de callback definida em command. Com jump=1 a função só é chamada quando o utilizador liberta o botão do rato.
orientorient=tk.HORIZONTAL para uma scrollbar horizontal, orient=tk.VERTICAL para uma scrollbar vertical (valor de defeito).
reliefTipo de relevo da scrollbar. Valor de defeito: tk.SUNKEN. Esta opção não tem efeito no Windows.
repeatdelayEsta opção controla quanto tempo o botão do rato deve ser premido antes que a barra de deslizamento se comece a mover repetidamente. Valor de defeito é 300 milisegundos.
repeatintervalEsta opção controla quantas vezes o movimento da barra de deslizamento repete quando o botão do rato está a ser premido. Valor de defeito é 100 milisegundos.
takefocusSe igual a zero a scrollbar não receberá o foco a partir do teclado.
widthLargura da scrollbar (a sua dimensão y se a scrollbar fôr horizontal, dimensão x se a scrollbar fôr vertical). Valor de defeito = 16.

Métodos

.get(element=None) : retorna 2 numeros (n1, n2) que referem a posição corrente da barra de deslizamento. n1 indica a posição da esquerda ou do topo para uma scrobalbar horizontal ou vertical, respectivamente; n2 indica a posição da direita ou do fundo para uma scrobalbar horizontal ou vertical, respectivamente

.set(first, last) : Para ligar uma scrollbar a outro componente c, defina as propriedades xscrollcommand ou yscrollcommand de c . Os argumentos têm o mesmo significado que os valores retornados por get().

Exemplo:

from tkinter import *

window = Tk()
window.title("Tkinter - Text")
window.geometry("300x200")

#criação de um componente Text:
text = Text()

#confuração do componente:
text.config(font=('courier', 15, 'normal'))
text.config(width=20, height=12)

text.pack(expand=YES, fill=BOTH)

#inserção de texto:
text.insert(END, 'Linha1\n\nLinha2\n\nLinha 3.\n\nLinha4\n\nLinha5\n\nLinha 6.\n\n')

#Definição de 2 tags em duas regiões do texto:

#linha 1, caratere 0 a linha 1, caratere 4:
text.tag_add("tag1", "1.0", "1.4")
#linha 3, caratere 1 a linha 3, caratere 5:
text.tag_add("tag2", "3.1", "3.5")

#configuração das 2 tags:
text.tag_config("tag1", background="yellow", foreground="blue")
text.tag_config("tag2", background="#00CED1", foreground="green")

#Scrollbar vertical :
scrollbar=Scrollbar(text)
scrollbar.pack(side=RIGHT,fill=Y)
text.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=text.yview)

window.mainloop()

Saída: