PySimpleGUI 使用 for 循环创建文本

PySimpleGUI creating Text with for loop

我想使用 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

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

提前致谢!

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

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

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