Tkinter 組件Scrollbar的具體使用
Scrollbar(滾動條)組件用於滾動一些組件的可見范圍,根據方向可分為垂直滾動條和水平滾動條。Scrollbar 組件常常被用於實現文本、畫佈和列表框的滾動。
何時使用 Scrollbar 組件?
Scrollbar 組件通常幾乎與 Text 組件、Canvas 組件和 Listbox 組件一起使用,水平滾動條還能跟 Entry 組件配合。
用法
下邊例子我們演示如何使用垂直滾動條。為瞭在某個組件上安裝垂直滾動條,你需要做兩件事:
1. 設置該組件的 yscrollbarcommand 選項為 Scrollbar 組件的 set() 方法;
2. 設置 Scrollbar 組件的 command 選項為該組件的 yview() 方法。
import tkinter as tk root = tk.Tk() sb = tk.Scrollbar(root) sb.pack(side="right", fill="y") lb = tk.Listbox(root, yscrollcommand=sb.set) for i in range(1000): lb.insert("end", str(i)) lb.pack(side="left", fill="both") sb.config(command=lb.yview) root.mainloop()
分析:當 Listbox 組件的可視范圍發生改變的時候,Listbox 組件通過調用 set() 方法通知 Scrollbar 組件。而當用戶操縱滾動條的時候,將自動調用 Listbox 組件的 yview() 方法。
添加水平滾動條方法跟上邊一樣,隻是將 yscrollcommand 改為 xscrollcommand,yview 改為 xview 即可。
參數
Scrollbar(master=None, **options) (class)
master — 父組件
**options — 組件選項,下方表格詳細列舉瞭各個選項的具體含義和用法:
選項 | 含義 |
activebackground | 1. 指定當鼠標在上方飄過的時候滑塊和箭頭的背景顏色 2. 默認值由系統指定 |
activerelief | 1. 指定當鼠標在上方飄過的時候滑塊的樣式 2. 默認值是 "raised" 3. 可以選擇 "flat","sunken","groove","ridge" |
background | 1. 指定背景顏色 2. 默認值由系統指定 |
bg | 跟 background 一樣 |
borderwidth | 1. 指定邊框寬度 2. 默認值是 0 |
bd | 跟 borderwidth 一樣 |
command | 1. 當滾動條更新時回調的函數 2. 通常的是指定對應組件的 xview() 或 yview() 方法 |
cursor | 1. 指定當鼠標在上方飄過的時候的鼠標樣式 2. 默認值由系統指定 |
elementborderwidth | 1. 指定滾動條和箭頭的邊框寬度 2. 默認值是 -1(表示使用 borderwidth 選項的值) |
highlightbackground | 1. 指定當滾動條沒有獲得焦點的時候高亮邊框的顏色 2. 默認值由系統指定 |
highlightcolor | 1. 指定當滾動條獲得焦點的時候高亮邊框的顏色 2. 默認值由系統指定 |
highlightthickness | 1. 指定高亮邊框的寬度 2. 默認值是 0(不帶高亮邊框) |
jump | 1. 指定當用戶拖拽滾動條時的行為 2. 默認值是 False,滾動條的任何一絲變動都會即刻調用 command 選項指定的回調函數 3. 設置為 True 則當用戶松開鼠標才調用 |
orient | 1. 指定繪制 "horizontal"(垂直滾動條)還是 "vertical"(水平滾動條) 2. 默認值是 VERTICAL |
relief | 1. 指定邊框樣式 2. 默認值是 "sunken" 3. 可以選擇 "flat","raised","groove","ridge" |
repeatdelay | 1. 該選項指定鼠標左鍵點擊滾動條凹槽的響應時間 2. 默認值是 300(毫秒) |
repeatinterval | 1. 該選項指定鼠標左鍵緊按滾動條凹槽時的響應間隔 2. 默認值是 100(毫秒) |
takefocus | 1. 指定使用 Tab 鍵可以將焦點移到該 Scrollbar 組件上 2. 默認是開啟的,可以將該選項設置為 False 避免焦點在此組件上 |
troughcolor | 1. 指定凹槽的顏色 2. 默認值由系統指定 |
width | 1. 指定滾動條的寬度 2. 默認值是 16 像素 |
方法
activate(element)
— 顯示 element 參數指定的元素的背景顏色和樣式
— element 參數可以設置為:"arrow1"(箭頭1),"arrow2"(箭頭2)或 "slider"(滑塊)
delta(deltax, deltay)
— 給定一個鼠標移動的范圍 deltax 和 deltay(像素為單位,deltax 表示水平移動量,deltay 表示垂直移動量),然後該方法返回一個浮點類型的值(范圍 -1.0 ~ 1.0)
— 這通常在鼠標綁定上使用,用於確定當用戶拖拽鼠標時滑塊的如何移動
fraction(x, y)
— 給定一個像素坐標 (x, y),該方法返回最接近給定坐標的滾動條位置(范圍 0.0 ~ 1.0)
get()
— 返回當前滑塊的位置 (a, b)
— a 值表示當前滑塊的頂端或左端的位置,b 值表示當前滑塊的底端或右端的位置(范圍 0.0 ~ 1.0)
identify(x, y)
— 返回一個字符串表示指定位置下(如果有的話)的滾動條部件
— 返回值可以是:"arrow1"(箭頭1),"arrow2"(箭頭2)、"slider"(滑塊)或 ""(啥都沒有)
set(*args)
— 設置當前滾動條的位置
— 如果設置則需要兩個參數 (first, last),first 表示當前滑塊的頂端或左端的位置,last 表示當前滑塊的底端或右端的位置(范圍 0.0 ~ 1.0)
到此這篇關於Tkinter 組件Scrollbar的具體使用的文章就介紹到這瞭,更多相關Tkinter Scrollbar內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python中Tkinter組件Listbox的具體使用
- Python中Tkinter組件Frame的具體使用
- Python中Tkinter組件Button的具體使用
- Python中Tkinter組件Menu的具體使用
- Python tkinter 列表框Listbox屬性詳情