【问题标题】:PySimpleGUI creating Text with for loopPySimpleGUI 使用 for 循环创建文本
【发布时间】:2025-12-04 21:55:02
【问题描述】:

我想使用 for 循环和 PySimpleGUI 显示一些文本。 我有一个代码...

import PySimpleGUI as sg

teams = ["a","b","c","d"]
layout =  [

        [sg.Text(teams[i]), sg.Radio('Pot A', "RADIO1", default=True),
        sg.Radio('Pot B', "RADIO1")],

]

window = sg.Window('hey').Layout(layout)
button, values = window.Read()

因为我想避免硬编码,所以我想使用 for 循环为我创建更多文本。 循环示例...

for i in range(len(teams)):
   #create some text

我不知道在哪里插入我的循环以使其工作或是否有可能。

提前致谢!

【问题讨论】:

    标签: python for-loop tkinter pysimplegui


    【解决方案1】:

    不确定您希望如何显示您的团队列表。

    无论如何,您都有多种选择。最简单的方法之一是列表推导。

    import PySimpleGUI as sg
    
    teams = ["a","b","c","d"]
    layout =  [[sg.Text(team) , sg.Radio('Pot A', "RADIO1"+team, default=True),
            sg.Radio('Pot B', "RADIO1"+team)] for team in teams]
    
    window = sg.Window('hey', layout)
    button, values = window.read()
    

    PySimpleGUI 文档中描述了使用循环创建布局: https://pysimplegui.readthedocs.io/en/latest/#generated-layouts-for-sure-want-to-read-if-you-have-5-repeating-elementsrows

    【讨论】: