標籤:python tkinter
Scale為輸出限定範圍的數字區間,可以為之指定最大值,最小值及步距值。Scale組件預設為垂直,最大值100,最小值0,步距為1
1.建立一個Scale
from tkinter import *root = Tk()Scale(root).pack()root.mainloop()
2.改變預設值
from tkinter import *root = Tk()Scale(root, from_ = -500, #設定最大值 to = 500, #設定最小值 resolution = 5, #設定步距值 orient = HORIZONTAL #設定水平方向 ).pack()root.mainloop()
3.Scale綁定變數
from tkinter import *root = Tk()v = StringVar()Scale(root, from_ = 0, #設定最小值 to = 100.0, #設定最大值 resolution = 0.0001, #設定步距值 orient = HORIZONTAL, #設定水平方向 variable = v #綁定變數 ).pack()print (v.get()) #Scale的值一致root.mainloop()
4.使用回呼函數列印當前的值
from tkinter import *root = Tk()def printScale(text): print ('text = ',text) print ('v = ',v.get())v = StringVar()Scale(root, from_ = 0, #設定最小值 to = 100.0, #設定最大值 resolution = 0.0001, #設定步距值 orient = HORIZONTAL, #設定水平方向 variable = v, #綁定變數 command = printScale #設定回呼函數 ).pack()print (v.get())root.mainloop()
這個回呼函數有一個參數,這個值是當前的Scale的值,每移動一個步距就會調用一次這個函數,只保證最後一個肯定會調用,中間的有可能不會調用,通過上例可以看到二者的值是完全一樣的。
5.設定Scale的標籤屬性label
from tkinter import *root = Tk()Scale(root, from_ = 0, to = 100.0, orient = HORIZONTAL, label = 'choice:', #設定標籤值 ).pack()root.mainloop()
6.設定/取得Scale的值
from tkinter import *root = Tk()sl = Scale(root)sl.set(50) #將Scale的值設定為50print (sl.get()) #列印當前的Scale的值sl.pack()root.mainloop()
Python GUI 08----Scale