Tkinter 捲軸



此部件提供一個滑塊控制器,用於實現垂直滾動部件,例如 Listbox、Text 和 Canvas。 請注意,您也可以在 Entry 部件上建立水平捲軸。

語法

以下是建立此部件的簡單語法:

w = Scrollbar ( master, option, ... )

引數

  • master − 表示父視窗。

  • options − 以下是此部件最常用的選項列表。 這些選項可以用逗號分隔的鍵值對使用。

序號 選項 & 描述
1

activebackground

滑鼠懸停在滑塊和箭頭上的顏色。

2

bg

滑鼠未懸停在滑塊和箭頭上的顏色。

3

bd

槽周圍整個周邊的 3D 邊框的寬度,也是箭頭和滑塊上 3D 效果的寬度。 預設情況下,槽周圍沒有邊框,箭頭和滑塊周圍有 2 畫素的邊框。

4

command

每當移動捲軸時要呼叫的過程。

5

cursor

滑鼠懸停在捲軸上時出現的滑鼠指標。

6

elementborderwidth

箭頭和滑塊周圍邊框的寬度。 預設值為 elementborderwidth=-1,這意味著使用 borderwidth 選項的值。

7

highlightbackground

捲軸未獲得焦點時焦點高亮的色彩。

8

highlightcolor

捲軸獲得焦點時焦點高亮的色彩。

9

highlightthickness

焦點高亮的厚度。 預設值為 1。設定為 0 可禁止顯示焦點高亮。

10

jump

此選項控制使用者拖動滑塊時發生的情況。 通常情況下 (jump=0),滑塊的每次小拖動都會導致呼叫命令回撥。 如果將此選項設定為 1,則只有在使用者釋放滑鼠按鈕後才會呼叫回撥。

11

orient

設定 orient=HORIZONTAL 可建立水平捲軸,設定 orient=VERTICAL 可建立垂直捲軸。

12

repeatdelay

此選項控制按鈕 1 需要在槽中按壓多長時間才能使滑塊開始重複地向該方向移動。預設值為 repeatdelay=300,單位為毫秒。

13

repeatinterval

repeatinterval

14

takefocus

通常,您可以透過 Tab 鍵將焦點切換到捲軸小部件。如果您不想要此行為,請將 takefocus 設定為 0。

15

troughcolor

槽的顏色。

16

width

捲軸的寬度(水平捲軸為其 y 維度,垂直捲軸為其 x 維度)。預設為 16。

方法

捲軸物件具有以下方法:

序號 方法和描述
1

get()

返回兩個數字 (a, b),描述滑塊的當前位置。對於水平和垂直捲軸,a 值分別給出滑塊左邊緣或上邊緣的位置;b 值給出右邊緣或下邊緣的位置。

2

set (first, last)

要將捲軸連線到另一個小部件 w,請將 w 的 xscrollcommand 或 yscrollcommand 設定為捲軸的 set() 方法。引數的含義與 get() 方法返回的值相同。

示例

請自行嘗試以下示例:

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()

執行上述程式碼後,將產生以下結果:

tkinter_scrollbar
python_gui_programming.htm
廣告