1

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

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

提前致谢!

4

1 回答 1

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-元素行

于 2019-12-10T18:23:05.433 回答