PySimpleGUI使用for循环创建文本

时间:2019-12-10 13:10:10

标签: python for-loop tkinter pysimplegui

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

我不知道在哪里插入循环以使其正常工作或根本不可能。

谢谢!

1 个答案:

答案 0 :(得分: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