列表ListBox介绍 sg.Listbox()支持简写sg.LB()
Listbox(
values,
#列表或者元祖等
key=None,
#元素的唯一标识符
#书写规范'-BUTTON-'
select_mode=None,
#选择模式,有效值包含如下4种。
#single,单选,更换时点击选择
#multiple,可多选,逐一点击选择
#browse,单选,鼠标按住也可以更换选择
#extended,可以多选,鼠标按住也可以扩展选择
enable_events=False,
#元素的事件属性
#如果设定为True,元素列表项目被选中时会发生事件
bind_return_key=False,
# 绑定按钮到回车键
# 设定为True时按下回车键相当于点击此元素
size=(None, None),
# 设置元素尺寸(宽,高)
disabled=False,
# bool:元素禁用
# 为Ture时元素禁用,无法点击
auto_size_text=None,
# bool 元素自动根据内容大小调整
font=None,
# 字体名称,字体大小(‘黑体’,16)
no_scrollbar=False,
#如果为True,没有滚动条
background_color=None,
#str 设置背景颜色
text_color=None,
#str 设置文本颜色
tooltip=None,
#悬浮文本
right_click_menu=None,
#右键点击调出菜单
#列表['1',['1','2','3','4','5',['5-1','5-2']]]
pad=None,
# (int,int)or((int,int),(int,int))
# or (int,(int,int))or ((int.int),int)
# ((左,右),(上,下))or ((左/右),(上,下))or((左,右),(上/下))
visible=True
#元素的可见状态
#如果设置为False,则元素不可见
)
window[key].update()
元素可以更新的属性只有以下几种:
update(
values=None,
#元祖或者列表,举例如下
#values=[1,3] values=(1,3)
disabled=False,
# bool:元素禁用
# 为Ture时元素禁用,无法点击
set_to_index=None,
#高亮显示设定的索引,Union[int,list,tuple],举例如下
#set_to_index =1
# set_to_index =[1,2]
# set_to_index =(1,2)
#注意::单击只是高亮显示,并未选中,双击才是高亮显示+选中
#单击获取值时,不用valuse(key),而是用window[key].get()
scroll_to_index=None,
#int 将设定的索引跳转到要显示的第一行
select_mode=None,
# 选择模式,有效值包含如下4种。
# single,单选,更换时点击选择
# multiple,可多选,逐一点击选择
# browse,单选,鼠标按住也可以更换选择
# extended,可以多选,鼠标按住也可以扩展选择
visible=None,
#bool 更新元素的可见性
)
小练习
import PySimpleGUI as sg
accounts={
'账号1':"TYEGFVFGSDFH999",
'账号2':"SADFSFA23SDF333",
'账号3':"R43TWERWR3RFEWE",
'账号4':"FSGSGWEGW442TRR",
'账号5':"BYHKJTLLTREGEG4",
'账号6':"9U34NSMFNSDASKF",
'账号7':"0934JH234H523UH"
}
list_zh =[]
for i in accounts:
list_zh.append(i)
layout = [
[sg.LB(list_zh,enable_events=True,size=(30,3))],
[sg.T('密码:'),sg.In(size=(25,1),key='-PW-')]
]
window = sg.Window('Window Title', layout)
while True:
event, values = window.read()
if event == None:
break
if event==0:
window['-PW-'].SetFocus()
window['-PW-'].update(accounts[values[0][0]])
window['-PW-'].update(select=True)
window.close()