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 -