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有很多種不同的方式,可以自己試試看喔~![]()