Scale

sc = Scale(parent, opcao=valor, ...)

O componente Scale mostra uma barra de deslizamento que permite deslizar entre um valor numérico mínimo e um valor numérico máximo.

A barra de deslizamento pode ser horizontal ou vertical. Possui um botão de deslizamento com o qual deslizamos entre os valores mínimo e máximo.

Atributos

OpçãoDescrição
activebackgroundCor de fundo quando o rato está sobre o componente.
bd ou borderwidthEspessura da borda à volta do componente. Valor de defeito: 2 pixeis.
commandDefine uma função que será chamada quando o deslizador do componente se mover. A função será chamada com o novo valor como argumento.
cursorCursor a ser mostrado quando o rato está sobre o componente.
digitsNo caso da variável de controle do componente ser StringVar este atributo especifica quantos digitos terá o valor na conversão para string.
fg ou foregroundCor de primeiro plano do componente.
fontFonte do texto do componente.
from_Define um valor real que determina um dos extremos da escala de valores do componente.
highlightbackgroundCor do foco quando o componente nao tem o foco.
highlightcolorCor do foco quando o componente tem o foco.
highlightthicknessEspessura do foco.
labelPermite definir uma etiqueta com texto no canto superior esquerdo no caso da orientação horizontal ou no canto superior direito, no caso de orientação vertical.
orienttk.HORIZONTAL ou tk.VERTICAL. Valor de defeito: tk.VERTICAL.
reliefTipo de relevo da borda do componente. Valor de defeito: tk.FLAT.
repeatdelayEspecifica quanto tempo o botão esquerdo do rato deve estar premido até que o deslizador comece a mover.Valor de defeito 300 milisegundos.
repeatintervalEspecifica a frequência de deslizamento, em milisegundos, do deslizador enquanto o botão do rato está a ser premido.Por exemplo, para um valor de 100 milisegundos, significa que o deslizador se move a cada 100 milisegundos.
resolutionEspecifica a resolução da escala em termos de unidades. Pode ser um valor inteiro ou real. Para uma escala entre 1 e 2 e uma resolução de 0.5, por exemplo, a escala terá os valores 1, 1.5 e 2.
showvalueDefine se o valor actual do componente é mostrado no mesmo. Se este valor fôr igual a 0, nenhum valor será mostrado.
sliderlengthComprimento do deslizador ao longo da escala. Valor de defeito: 30 pixeis.
sliderreliefTipo de relevo do deslizador. Valor de defeito: tk.RAISED.
stateDefinir state=tk.DISABLED para tornar o scale irresponsivo.
takefocusNormalmente o scale recebe o foco a partir do teclado. Definir takefocus=0 para que isso não aconteça.
tickintervalPermite definir se o componente mostra uma etiqueta com a escala de valores. Se este atributo fôr igual a 0, não mostra etiqueta. Se fôr igual a 0.5, por exemplo e a escala fôr entre 1 e 3, mostra uma etiqueta com a seguinte escala: 1, 1.5, 2, 2.5, 3.
toDefine um valor real que determina um dos extremos da escala de valores do componente. O valor de defeito é 100.
troughcolorCor da barra.
variableVariável de controle do componente. Pode ser IntVar,DoubleVar ou StringVar.
widthComprimento do componente. Valor de defeito: 15 pixeis.

Métodos

.coords(valor=None) : Devolve as coordenadas relativas ao canto superior esquerdo do componente para um determinado valor da escala. Se valor igual a None devolve as coordenadas para o valor actual da escala. Para obter as coordenadas para um determinado valor, fazer valor=x.

valor: Opcional. Valor da escala.

.get() : Devolve o valor corrente da escala.

.identify(x, y) : Para um par de coordenadas (x, y) devolve uma string com o nome da parte do componente nessa localização. Pode ser:

  • ‘slider’: o deslizador
  • ‘through1’: parte da barra à esquerda do deslizador, para barras horizontais; parte da barra acima do deslizador para barras verticais.
  • ‘through2’: parte da barra à direita do deslizador, para barras horizontais; parte da barra abaixo do deslizador para barras verticais.
  • : a posição (x, y) não faz parte de nenhuma das partes acima referidas.

x, y: Coordenadas.

.set(valor) : Define o valor da escala.

valor: Valor da escala.

Exemplo :

from tkinter import *

window = Tk()
window.title("Tkinter - Text")
window.geometry("200x150")

def showValue():
    print( str(scale.get()) )


#criação do scale:
scale = Scale( window, from_=0, to=100, orient=HORIZONTAL, showvalue=False )
scale.pack()


Button( window, text="Ver", command=showValue ).pack(side=BOTTOM)

window.mainloop()

Saída :