繁体   English   中英

使用 PySimpleGui 基于列表框的 if 语句

[英]If statement based on listbox with PySimpleGui

所以我一直有一些基于 PySimpleGui 列表框元素的 if 语句的问题。 我的代码是:

layout = [[sg.Listbox(values=['Listbox 1', 'Listbox 2', 'Listbox 3'], size=(30, 6))],
          [sg.Button('Next'), sg.Button('Quit')]]

window = sg.Window('PyK Mn', layout)

#############
# MAIN LOOP #
#############
while True:
    event, values = window.read()
    print(event)
    if event == sg.WIN_CLOSED or event == 'Quit':
        quit()
    elif event == 'Next':
        if values[0] == 'Listbox 3':
            print('3')

当我运行它时,它返回“Next”但没有“3”。 我究竟做错了什么?

这里valuse[0]仅用于选定列表,例如['Listbox 3']因为0作为列表框的键。

要检查是否选择了'Listbox 3' ,请再添加一个列表索引,例如 values[0][0],

import PySimpleGUI as sg

layout = [[sg.Listbox(values=['Listbox 1', 'Listbox 2', 'Listbox 3'], size=(30, 6))],
          [sg.Button('Next'), sg.Button('Quit')]]

window = sg.Window('PyK Mn', layout)

#############
# MAIN LOOP #
#############
while True:
    event, values = window.read()
    print(event, values)
    if event == sg.WIN_CLOSED or event == 'Quit':
        window.close()
        break
    elif event == 'Next':
        if values[0][0] == 'Listbox 3':
            print('3')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM