Tkinter?組件Scrollbar的具體使用
Scrollbar(滾動(dòng)條)組件用于滾動(dòng)一些組件的可見范圍,根據(jù)方向可分為垂直滾動(dòng)條和水平滾動(dòng)條。Scrollbar 組件常常被用于實(shí)現(xiàn)文本、畫布和列表框的滾動(dòng)。
何時(shí)使用 Scrollbar 組件?
Scrollbar 組件通常幾乎與 Text 組件、Canvas 組件和 Listbox 組件一起使用,水平滾動(dòng)條還能跟 Entry 組件配合。
用法
下邊例子我們演示如何使用垂直滾動(dòng)條。為了在某個(gè)組件上安裝垂直滾動(dòng)條,你需要做兩件事:
1. 設(shè)置該組件的 yscrollbarcommand 選項(xiàng)為 Scrollbar 組件的 set() 方法;
2. 設(shè)置 Scrollbar 組件的 command 選項(xiàng)為該組件的 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()
分析:當(dāng) Listbox 組件的可視范圍發(fā)生改變的時(shí)候,Listbox 組件通過調(diào)用 set() 方法通知 Scrollbar 組件。而當(dāng)用戶操縱滾動(dòng)條的時(shí)候,將自動(dòng)調(diào)用 Listbox 組件的 yview() 方法。
添加水平滾動(dòng)條方法跟上邊一樣,只是將 yscrollcommand 改為 xscrollcommand,yview 改為 xview 即可。
參數(shù)
Scrollbar(master=None, **options) (class)
master -- 父組件
**options -- 組件選項(xiàng),下方表格詳細(xì)列舉了各個(gè)選項(xiàng)的具體含義和用法:
選項(xiàng) | 含義 |
activebackground | 1. 指定當(dāng)鼠標(biāo)在上方飄過的時(shí)候滑塊和箭頭的背景顏色 2. 默認(rèn)值由系統(tǒng)指定 |
activerelief | 1. 指定當(dāng)鼠標(biāo)在上方飄過的時(shí)候滑塊的樣式 2. 默認(rèn)值是 "raised" 3. 可以選擇 "flat","sunken","groove","ridge" |
background | 1. 指定背景顏色 2. 默認(rèn)值由系統(tǒng)指定 |
bg | 跟 background 一樣 |
borderwidth | 1. 指定邊框?qū)挾?br />2. 默認(rèn)值是 0 |
bd | 跟 borderwidth 一樣 |
command | 1. 當(dāng)滾動(dòng)條更新時(shí)回調(diào)的函數(shù) 2. 通常的是指定對(duì)應(yīng)組件的 xview() 或 yview() 方法 |
cursor | 1. 指定當(dāng)鼠標(biāo)在上方飄過的時(shí)候的鼠標(biāo)樣式 2. 默認(rèn)值由系統(tǒng)指定 |
elementborderwidth | 1. 指定滾動(dòng)條和箭頭的邊框?qū)挾?br />2. 默認(rèn)值是 -1(表示使用 borderwidth 選項(xiàng)的值) |
highlightbackground | 1. 指定當(dāng)滾動(dòng)條沒有獲得焦點(diǎn)的時(shí)候高亮邊框的顏色 2. 默認(rèn)值由系統(tǒng)指定 |
highlightcolor | 1. 指定當(dāng)滾動(dòng)條獲得焦點(diǎn)的時(shí)候高亮邊框的顏色 2. 默認(rèn)值由系統(tǒng)指定 |
highlightthickness | 1. 指定高亮邊框的寬度 2. 默認(rèn)值是 0(不帶高亮邊框) |
jump | 1. 指定當(dāng)用戶拖拽滾動(dòng)條時(shí)的行為 2. 默認(rèn)值是 False,滾動(dòng)條的任何一絲變動(dòng)都會(huì)即刻調(diào)用 command 選項(xiàng)指定的回調(diào)函數(shù) 3. 設(shè)置為 True 則當(dāng)用戶松開鼠標(biāo)才調(diào)用 |
orient | 1. 指定繪制 "horizontal"(垂直滾動(dòng)條)還是 "vertical"(水平滾動(dòng)條) 2. 默認(rèn)值是 VERTICAL |
relief | 1. 指定邊框樣式 2. 默認(rèn)值是 "sunken" 3. 可以選擇 "flat","raised","groove","ridge" |
repeatdelay | 1. 該選項(xiàng)指定鼠標(biāo)左鍵點(diǎn)擊滾動(dòng)條凹槽的響應(yīng)時(shí)間 2. 默認(rèn)值是 300(毫秒) |
repeatinterval | 1. 該選項(xiàng)指定鼠標(biāo)左鍵緊按滾動(dòng)條凹槽時(shí)的響應(yīng)間隔 2. 默認(rèn)值是 100(毫秒) |
takefocus | 1. 指定使用 Tab 鍵可以將焦點(diǎn)移到該 Scrollbar 組件上 2. 默認(rèn)是開啟的,可以將該選項(xiàng)設(shè)置為 False 避免焦點(diǎn)在此組件上 |
troughcolor | 1. 指定凹槽的顏色 2. 默認(rèn)值由系統(tǒng)指定 |
width | 1. 指定滾動(dòng)條的寬度 2. 默認(rèn)值是 16 像素 |
方法
activate(element)
-- 顯示 element 參數(shù)指定的元素的背景顏色和樣式
-- element 參數(shù)可以設(shè)置為:"arrow1"(箭頭1),"arrow2"(箭頭2)或 "slider"(滑塊)
delta(deltax, deltay)
-- 給定一個(gè)鼠標(biāo)移動(dòng)的范圍 deltax 和 deltay(像素為單位,deltax 表示水平移動(dòng)量,deltay 表示垂直移動(dòng)量),然后該方法返回一個(gè)浮點(diǎn)類型的值(范圍 -1.0 ~ 1.0)
-- 這通常在鼠標(biāo)綁定上使用,用于確定當(dāng)用戶拖拽鼠標(biāo)時(shí)滑塊的如何移動(dòng)
fraction(x, y)
-- 給定一個(gè)像素坐標(biāo) (x, y),該方法返回最接近給定坐標(biāo)的滾動(dòng)條位置(范圍 0.0 ~ 1.0)
get()
-- 返回當(dāng)前滑塊的位置 (a, b)
-- a 值表示當(dāng)前滑塊的頂端或左端的位置,b 值表示當(dāng)前滑塊的底端或右端的位置(范圍 0.0 ~ 1.0)
identify(x, y)
-- 返回一個(gè)字符串表示指定位置下(如果有的話)的滾動(dòng)條部件
-- 返回值可以是:"arrow1"(箭頭1),"arrow2"(箭頭2)、"slider"(滑塊)或 ""(啥都沒有)
set(*args)
-- 設(shè)置當(dāng)前滾動(dòng)條的位置
-- 如果設(shè)置則需要兩個(gè)參數(shù) (first, last),first 表示當(dāng)前滑塊的頂端或左端的位置,last 表示當(dāng)前滑塊的底端或右端的位置(范圍 0.0 ~ 1.0)
到此這篇關(guān)于Tkinter 組件Scrollbar的具體使用的文章就介紹到這了,更多相關(guān)Tkinter Scrollbar內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python英語(yǔ)單詞測(cè)試小程序代碼實(shí)例
這篇文章主要介紹了python英語(yǔ)單詞測(cè)試小程序代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Pandas常用的數(shù)據(jù)結(jié)構(gòu)和常用的數(shù)據(jù)分析技術(shù)
Pandas是Python中用于數(shù)據(jù)處理和分析的強(qiáng)大庫(kù),其最常用的數(shù)據(jù)結(jié)構(gòu)是Series和DataFrame。Series類似于一維數(shù)組,可以表示一列數(shù)據(jù);DataFrame類似于二維表格,可以表示多列數(shù)據(jù)2023-04-04使用python刪除nginx緩存文件示例(python文件操作)
這篇文章主要介紹了使用python刪除nginx緩存文件示例(python文件操作),需要的朋友可以參考下2014-03-03寫一個(gè)Python腳本下載嗶哩嗶哩舞蹈區(qū)的所有視頻
B 站大家都熟悉,尤其是它的舞蹈區(qū).有 100W+ 的舞蹈視頻.在沒有 wifi 的情況下,就欣賞不了這些視頻了.作為一個(gè) python 程序員,小編就寫一個(gè) Python 腳本在晚上下載舞蹈區(qū)的所有視頻,需要的朋友可以參考下2021-05-05詳解Python如何利用pymysql封裝項(xiàng)目通用的連接和查詢
一個(gè)項(xiàng)目通常都需要有數(shù)據(jù)庫(kù),本文就來為大家詳細(xì)講講Python如何利用pymysql簡(jiǎn)單分裝一個(gè)通用的連接,關(guān)閉和查詢,需要的可以參考一下2022-07-07python list中append()與extend()用法分享
列表是以類的形式實(shí)現(xiàn)的?!皠?chuàng)建”列表實(shí)際上是將一個(gè)類實(shí)例化。因此,列表有多種方法可以操作2013-03-03