Python 3 - barra de rolagem do Tkinter
Este widget fornece um controlador de slide que é usado para implementar widgets de rolagem vertical, como caixa de listagem, texto e tela. Observe que você também pode criar barras de rolagem horizontais nos widgets de entrada.
Sintaxe
Aqui está a sintaxe simples para criar este widget -
w = Scrollbar ( master, option, ... )
Parâmetros
master - Isso representa a janela pai.
options- Aqui está a lista das opções mais comumente usadas para este widget. Essas opções podem ser usadas como pares de valores-chave separados por vírgulas.
Sr. Não. | Opção e descrição |
---|---|
1 | activebackground A cor do controle deslizante e das pontas de seta quando o mouse está sobre eles. |
2 | bg A cor do controle deslizante e das pontas de seta quando o mouse não está sobre eles. |
3 | bd A largura das bordas 3-d em torno de todo o perímetro da depressão e também a largura dos efeitos 3-d nas pontas das setas e no controle deslizante. O padrão é sem borda ao redor da calha e uma borda de 2 pixels ao redor das pontas de seta e controle deslizante. |
4 | command Um procedimento a ser chamado sempre que a barra de rolagem é movida. |
5 | cursor O cursor que aparece quando o mouse está sobre a barra de rolagem. |
6 | elementborderwidth A largura das bordas em torno das pontas de seta e do controle deslizante. O padrão é elementborderwidth = -1, o que significa usar o valor da opção borderwidth. |
7 | highlightbackground A cor do foco é destacada quando a barra de rolagem não tem foco. |
8 | highlightcolor A cor do foco é realçada quando a barra de rolagem tem o foco. |
9 | highlightthickness A espessura do destaque do foco. O padrão é 1. Defina como 0 para suprimir a exibição do destaque do foco. |
10 | jump Esta opção controla o que acontece quando um usuário arrasta o controle deslizante. Normalmente (salto = 0), cada pequeno arrasto do controle deslizante faz com que o retorno de chamada do comando seja chamado. Se você definir esta opção como 1, o retorno de chamada não será chamado até que o usuário libere o botão do mouse. |
11 | orient Defina orient = HORIZONTAL para uma barra de rolagem horizontal, orient = VERTICAL para uma vertical. |
12 | repeatdelay Esta opção controla por quanto tempo o botão 1 deve ser mantido pressionado na calha antes que o controle deslizante comece a se mover nessa direção repetidamente. O padrão é repeatdelay = 300 e as unidades são milissegundos. |
13 | repeatinterval repeatinterval |
14 | takefocus Normalmente, você pode alternar o foco por meio de um widget da barra de rolagem. Defina takefocus = 0 se você não quiser esse comportamento. |
15 | troughcolor A cor da calha. |
16 | width Largura da barra de rolagem (sua dimensão y se horizontal e sua dimensão x se vertical). O padrão é 16. |
Métodos
Os objetos da barra de rolagem têm estes métodos -
Sr. Não. | Método e Descrição |
---|---|
1 | get() Retorna dois números (a, b) que descrevem a posição atual do controle deslizante. O valor a fornece a posição da borda esquerda ou superior do controle deslizante, para as barras de rolagem horizontal e vertical, respectivamente; o valor b fornece a posição da borda direita ou inferior. |
2 | set ( first, last ) Para conectar uma barra de rolagem a outro widget w, defina w's xscrollcommand ou yscrollcommand para o método set () da barra de rolagem. Os argumentos têm o mesmo significado que os valores retornados pelo método get (). |
Exemplo
Experimente o seguinte exemplo -
# !/usr/bin/python3
from tkinter import *
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack( side = RIGHT, fill = Y )
mylist = Listbox(root, yscrollcommand = scrollbar.set )
for line in range(100):
mylist.insert(END, "This is line number " + str(line))
mylist.pack( side = LEFT, fill = BOTH )
scrollbar.config( command = mylist.yview )
mainloop()
Resultado
Quando o código acima é executado, ele produz o seguinte resultado -