- PySimpleGUI 教程
- PySimpleGUI - 首頁
- PySimpleGUI - 簡介
- PySimpleGUI - 環境設定
- PySimpleGUI - Hello World
- PySimpleGUI - 彈出視窗
- PySimpleGUI - 視窗類
- PySimpleGUI - 元素類
- PySimpleGUI - 事件
- PySimpleGUI - 選單欄
- PySimpleGUI - Matplotlib 整合
- PySimpleGUI - 使用 PIL
- PySimpleGUI - 偵錯程式
- PySimpleGUI - 設定
- PySimpleGUI 有用資源
- PySimpleGUI - 快速指南
- PySimpleGUI - 有用資源
- PySimpleGUI - 討論
PySimpleGUI - 組合框元素
組合框元素是一個下拉列表。它最初顯示一個輸入元素,其右側帶有一個箭頭。當單擊箭頭時,列表框會下拉。因此,您可以在輸入文字框中輸入文字,或從下拉列表中選擇一個專案,以便所選專案顯示在輸入框中。
組合框元素的功能或多或少類似於列表框。它由列表中的一組字串專案填充。您還可以指定要顯示在頂部的預設值。
以下是組合框類的重要屬性:
| 序號 | 屬性及描述 |
|---|---|
| 1 | values 要顯示和選擇的列表值。 |
| 2 | default_value 要顯示為初始值的選項。 |
| 3 | size 寬度,高度。寬度 = 字元寬度,高度 = 在列表中顯示的條目數。 |
get() 方法返回組合框的當前值。update() 方法修改組合框物件的以下屬性:
| 序號 | 屬性及描述 |
|---|---|
| 1 | value 根據新的列表或先前的選項列表更改當前選中的值 |
| 2 | values 更改選項列表 |
| 3 | set_to_index 將選擇更改為特定選項,從索引 = 0 開始 |
| 4 | readonly 如果為 True,則使元素為只讀(使用者無法更改任何選項)。 |
在以下示例中,我們使用組合框元素的選擇更改事件。如果使用者在彈出對話方塊中按“是”進行響應,則會刪除下拉列表中的所選元素。
import PySimpleGUI as psg
names = []
lst = psg.Combo(names, font=('Arial Bold', 14), expand_x=True, enable_events=True, readonly=False, key='-COMBO-')
layout = [[lst,
psg.Button('Add', ),
psg.Button('Remove'),
psg.Button('Exit')],
[psg.Text("", key='-MSG-',
font=('Arial Bold', 14),
justification='center')]
]
window = psg.Window('Combobox Example', layout, size=(715, 200))
while True:
event, values = window.read()
print(event, values)
if event in (psg.WIN_CLOSED, 'Exit'):
break
if event == 'Add':
names.append(values['-COMBO-'])
print(names)
window['-COMBO-'].update(values=names, value=values['-COMBO-'])
msg = "A new item added : {}".format(values['-COMBO-'])
window['-MSG-'].update(msg)
if event == '-COMBO-':
ch = psg.popup_yes_no("Do you want to Continue?", title="YesNo")
if ch == 'Yes':
val = values['-COMBO-']
names.remove(val)
window['-COMBO-'].update(values=names, value=' ')
msg = "A new item removed : {}".format(val)
window['-MSG-'].update(msg)
window.close()
當組合框物件發出事件(由其鍵“-COMBO-”標識)時,表示已單擊下拉列表中的某個專案。會顯示一個“是/否”彈出視窗,詢問確認資訊。如果單擊“是”按鈕,則會從列表中刪除與組合框元素文字框對應的專案,並使用剩餘的專案重新填充元素。
視窗的螢幕截圖如下所示:
pysimplegui_element_class.htm
廣告