Tkinter学习-Scale
The Tkinter Scale Widget
Scale(刻度)組件看起來像是一個帶數據的 Scrollbar(滾動條)組件,但事實上它們是不同的兩個東東。Scale 組件允許用于通過滑動滑塊來選擇一個范圍內的數字。你可以控制該組件的最大值、最小值,以及分辨率。
何時使用 Scale 組件?
??? 當你希望用戶輸入某個范圍內的一個數值,使用 Scale 組件可以很好的代替 Entry 組件。
用法
??? 創建一個指定范圍的 Scale 組件其實非常容易,你只需要指定它的 from 和 to 兩個選項即可。但由于 from 本身是 Python 的關鍵字,所以為了區分需要在后邊緊跟一個下劃線:from_
1.? from tkinter import *
2.? ?
3.? root = Tk()
4.? ?
5.? Scale(root, from_=0, to=42).pack()
6.? Scale(root, from_=0, to=200,orient=HORIZONTAL).pack()
7.? ?
8.? mainloop()
使用 get() 方法可以獲取當前滑塊的位置:
1.? from tkinter import *
2.? ?
3.? root = Tk()
4.? ?
5.? s1 = Scale(root, from_=0, to=42)
6.? s1.pack()
7.? ?
8.? s2 = Scale(root, from_=0, to=200,orient=HORIZONTAL)
9.? s2.pack()
10. ?
11. def show():
12. ? ? print(s1.get(), s2.get())
13. ?
14. Button(root, text="獲得位置",command=show).pack()
15. ?
16. mainloop()
然后,你可以通過 resolution 選項控制分辨率(步長),通過 tickinterval 選項設置刻度:
1.? from tkinter import *
2.? ?
3.? root = Tk()
4.? ?
5.? Scale(root, from_=0, to=42,tickinterval=5, length=200, \
6.? ? ?? ?resolution=5,orient=VERTICAL).pack()
7.? Scale(root, from_=0, to=200,tickinterval=10, length=600, \
8.? ? ???orient=HORIZONTAL).pack()
9.? ?
10. mainloop()
參數
Scale(master=None, **options) (class)
master -- 父組件
**options -- 組件選項,下方表格詳細列舉了各個選項的具體含義和用法:
選項 | 含義 |
activebackground | 1. 指定當鼠標在上方飄過的時候滑塊的背景顏色 |
background | 1. 滾動槽外部的背景顏色 |
bg | 跟 background 一樣 |
bigincrement | 1. 設置“大”增長量 |
borderwidth | 1. 指定邊框寬度 |
bd | 跟 borderwidth 一樣 |
command | 1. 指定一個函數,每當滑塊發生改變的時候都會自動調用該函數 |
cursor | 1. 指定當鼠標在上方飄過的時候的鼠標樣式 |
digits | 1. 設置最多顯示多少位數字 |
foreground | 1. 指定滑塊左側的 Label 和刻度的文字顏色 |
fg | 跟 foreground 一樣 |
font | 1. 指定滑塊左側的 Label 和刻度的文字字體 |
from | 1. 設置滑塊最頂(左)端的位置 |
highlightbackground | 1. 指定當 Scale 沒有獲得焦點的時候高亮邊框的顏色 |
highlightcolor | 1. 指定當 Scale 獲得焦點的時候高亮邊框的顏色 |
highlightthickness | 1. 指定高亮邊框的寬度 |
label | 1. 你可以在垂直的 Scale 組件的頂端右側(水平的話是左端上方)顯示一個文本標簽 |
length | 1. Scale 組件的長度 |
orient | 1. 設置該 Scale 組件是水平放置(HORIZONTAL)還是垂直放置(VERTICAL) |
relief | 1. 指定邊框樣式 |
repeatdelay | 1. 該選項指定鼠標左鍵點擊滾動條凹槽的響應時間 |
repeatinterval | 1. 該選項指定鼠標左鍵緊按滾動條凹槽時的響應間隔 |
resolution | 1. 指定 Scale 組件的分辨率(步長,即在凹槽點擊一下鼠標左鍵它移動的數量) |
showvalue | 1. 設置是否顯示滑塊旁邊的數字 |
sliderlength | 1. 設置滑塊的長度 |
sliderrelief | 1. 設置滑塊的樣式 |
state | 1. 默認情況下 Scale 組件支持鼠標事件和鍵盤事件,可以通過設置該選項為 DISABLED 來禁用此功能 |
takefocus | 1. 指定使用 Tab 鍵是否可以將焦點移動到該 Scale 組件上 |
tickinterval | 1. 設置顯示的刻度,如果設置一個值,那么就會按照該值的倍數顯示刻度 |
to | 1. 設置滑塊最底(右)端的位置 |
troughcolor | 1. 設置凹槽的顏色 |
variable | 1. 指定一個與 Scale 組件相關聯的 Tkinter 變量,該變量存放滑塊最新的位置 |
width | 1. 指定 Scale 組件的寬度 |
方法
coords(value=None)
-- 獲得當前滑塊的位置對應 Scale 組件左上角的相對坐標
-- 如果設置 value 參數,則返回當滑塊所在該位置時的相對坐標
get()
-- 獲得當前滑塊的位置
-- Tkinter 會盡可能地返回一個整型值,否則返回一個浮點型值
identify(x, y)
-- 返回一個字符串表示指定位置下(如果有的話)的 Scale 部件
-- 返回值可以是:"slider"(滑塊),"trough1"(左側或上側的凹槽),"trough2"(右側或下側的凹槽)或 ""(啥都沒有)
set(value)
-- 設置 Scale 組件的值(滑塊的位置)
總結
以上是生活随笔為你收集整理的Tkinter学习-Scale的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server 2014安装教程(
- 下一篇: LoRa无线智慧家庭落地解决方案——东胜