Listbox表單是可以顯示很多選項的空件,一次可以執行一個或多個。
語法:Listbox( master, option, ... )
♠♣今天的文章大綱♥♦
參數 | 說明 |
---|---|
bg | 標籤背景或 indicator 的背景顏色。 |
borderwidth或bd | 3D邊界寬度,預設是2px。 |
cursor | 當滑鼠游標在選項紐時的外形。 |
fg | 文字的顏色。 |
font | 字型。 |
height | 高,設是 10。 |
selectbackground | 被選取字串的背景色彩。 |
highlightthickness | 當表單取得焦點時的厚度。 |
highlightcolor | 當表單取得焦點時的顏色。 |
listvariable | 以變數方式處理選項內容。 |
relief | 預設是FLAT,可由此更改邊界外觀。 |
ycrollcommand | y軸使用捲軸。 |
xcrollcommand | x軸使用卷軸。 |
width | 選項紐的文字區間有幾個字元寛,省略時會自行調整為實際寬度。 |
參數 | 說明 |
---|---|
selectmode | 可以決定有多少選項可以被選,和滑鼠拖曳如何影響選項。 |
BROWSE | 預設,選擇一個選項,同時拖曳滑鼠,最後的位置是被選取的項目位置。 |
SINGLE | 只能選擇一個選項,用點選方式選取,不可用拖曳方式更改所選的項目。 |
MULTIPLE | 可以選擇多個選項,點選項目可以切換是否選擇該項目。 |
EXTENDED | 可以一次使用點選第一個項目然後拖曳到最後一個項目,即可選擇這區間的系列選項。點選可以選擇第一個項目,此時若是按 Shift+ 點選另一個項目,可以選取區間項目。 |
insert()是建立表單項目。
語法:insert(index,elements)
import tkinter as tk
root = tk.Tk()
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x200')
exercises = ["Badminton", "baseball", "basketball"," football",
" handball"," hockey"," table tennis"," tennis"," volleyball"]
lb = tk.Listbox(root,selectmode='extended')
for exercise in exercises:
lb.insert ('end', exercise)
lb.pack(pady=10)
root.mainloop()
執行結果⬇⬇⬇
按住shift就可以選取多個選項。
參數 | 說明 |
---|---|
size() | 傳回列表項目的數量。 |
selection_set() | 選取特定索引項目。 |
delete() | 刪除特定索引項目。 |
get() | 傳回特定索引項目。 |
curselection() | 傳回選取項目的索引。 |
selection_include() | 傳回特定索引是否被選取。 |
size()範例
用上一個範例的程式碼加上一行
for exercise in exercises:
lb.insert ('end', exercise)
lb.pack(pady=10)
print("列出數量",lb.size())#在python shell印出數量
執行結果⬇⬇⬇
curselection()
import tkinter as tk
root = tk.Tk()
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x250')
def callback():
indexs = lb.curselection()
for index in indexs:
print(lb.get(index))
exercises = ["Badminton", "baseball", "basketball"," football",
" handball"," hockey"," table tennis"," tennis"," volleyball"]
lb = tk.Listbox (root, selectmode='multiple')
for exercise in exercises:
lb.insert ('end', exercise)
lb.pack(pady=10)
b = tk.Button (root, text="Print", command=callback)
b.pack (pady = 5)
root.mainloop()
執行結果⬇⬇⬇
把選取的印出來。
今天的文章就到這邊,selectmode有很多種不同的方式,可以自己試試看喔~