首页 > 解决方案 > 两列列表框 pySimpleGui

问题描述

我有一个包含两列的数据库:ID、颜色(1、“红色”、2、“绿色”等),并且我正在尝试使用描述旁边的复选框动态显示颜色列表。这可能吗?

这就是我试图动态而不是静态地做的事情。

import PySimpleGUI as sg
layout =[[sg.Checkbox('DB RED', key='-DB ID 1-')],
        [sg.Checkbox('DB GREEN', key='-DB ID 2-')],
        [sg.Checkbox('DB BLUE', key='-DB ID 3-')]]
 window = sg.Window('Test Window', layout)
 event, values = window.read()
 window.close()

感谢您的任何帮助。

标签: checkboxlistboxpysimplegui

解决方案


又快又脏:

import PySimpleGUI as sg

db_values = [
    'DB RED', 'DB GREEN', 'DB BLUE'
]

layout = []
cnt = 1    

for entry in db_values:
    layout.append([sg.Checkbox(entry, key=f'-DB ID {cnt}-')])
    cnt += 1

window = sg.Window('Test Window', layout)
event, values = window.read()
window.close()

推荐阅读