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ção | Descrição |
---|---|
activebackground | Cor da barra de deslizamento e das setas quando o cursor está sobre elas. |
activerelief | Por defeito, o relevo da barra de deslizamento é tk.RAISED. Pode-se atribuir nesta opção outro estilo de relevo. |
bd ou borderwidth | Espessura 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 background | Cor de fundo da barra de deslizamento e das setas quando o rato não está sobre elas. |
command | Função a ser chamada quando a scrollbar é deslizada. |
cursor | Nome do cursor a ser mostrado quando o rato está sobre a scrollbar. |
elementborderwidth | Espessura da borda à volta da barra de deslizamento e das setas. Valor de defeito -1. |
highlightbackground | Cor do foco quando a scrollbar nao tem o foco. |
highlightcolor | Cor do foco quando a scrollbar tem o foco. |
highlightthickness | Espessura do foco. Valor de defeito 1. Definir como 0 para suprimir a espessura do foco. |
jump | Esta 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. |
orient | orient=tk.HORIZONTAL para uma scrollbar horizontal, orient=tk.VERTICAL para uma scrollbar vertical (valor de defeito). |
relief | Tipo de relevo da scrollbar. Valor de defeito: tk.SUNKEN. Esta opção não tem efeito no Windows. |
repeatdelay | Esta 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. |
repeatinterval | Esta 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. |
takefocus | Se igual a zero a scrollbar não receberá o foco a partir do teclado. |
width | Largura 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:
