【tkinter學習筆記1】--Scrollbar組件

tkinter–Scrollbar組件

儘管Listbox組件可以提供一個列表選項,但是當列表長度比較長時,Listbox組件就顯現出明顯的不足:很容易被用戶忽略沒有顯示出來的選項,這個時候,我們就可以用到Scrollbar組件。

目錄:

1.介紹Scrollbar組件	
2.案列 		
		2.1用pack佈局管理器實現滾動條; 		
		2.2用grid佈局管理器實現滾動條;
3.總結
1.介紹Scrollbar組件

滾動條是作爲一個獨立的組件存在,但它幾乎與其他組件能配合使用,爲了能在某個組件上使用滾動條,需要作如下操作:
1.設置該組件的yscrollbarcommand選項爲Scrollbar組件的set()方法;
2.設置Scrollbar組件的command選項爲該組件的yview()方法。

2.案列
2.1 用pack佈局管理器實現滾動條
import tkinter as tk

root=tk.Tk()

sb=tk.Scrollbar(root)

sb.pack(side=tk.RIGHT,fill=tk.Y)

lb=tk.Listbox(root,yscrollcommand=sb.set)

for i in range(1000):
    lb.insert(tk.END,str(i))

lb.pack(side=tk.LEFT,fill=tk.BOTH)

sb.config(command=lb.yview)

root.mainloop()

運行結果:
在這裏插入圖片描述

2.2用grid佈局管理器實現滾動條
import tkinter as tk

root=tk.Tk()

sb=tk.Scrollbar(root)

sb.grid(row=0,column=1)

lb=tk.Listbox(root,yscrollcommand=sb.set)

for i in range(1000):
    lb.insert(tk.END,str(i))

lb.grid(row=0,column=0)

sb.config(command=lb.yview)

root.mainloop()

運行結果:
在這裏插入圖片描述
可以發現此時的滾動條的高度不長,顯示出來的效果並不怎麼好。
我們可以將原來第七行代碼改成這樣:
sb.grid(row=0,column=1,ipady=65)
來看一下此時的效果:
在這裏插入圖片描述

3.總結

其實這是一個互聯互通的過程,當用戶用鼠標撥動滾動條的時候,Listbox組件的yview()方法也同時滾動列表框上的內容;同樣,當用戶用鼠標撥動列表框裏的內容是,Listbox組件通過調用Scrollbar組件的set()方法變更滾動條的相應位置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章