如何从单个布局向列表框添加多个元素



所以我是python的新手。我想使用for循环在列表框中添加许多元素。问题是,只有最后一个显示,如果我必须添加多个元素,我必须手动

class Player:
def __init__(self,name,end,stam,phys):
self.name = name
self.end = end
self.stam = stam
self.phys = phys
def make_player(name,end,stam,phys):
player = Player(name,end,stam,phys)
return player
#Get the data from the cells
AllPlayers = []
for i in range(1, sheet1.nrows):
name = sheet1.cell_value(i, 0)
end = sheet1.cell_value(i, 1)
stam = sheet1.cell_value(i, 2)
phys = sheet1.cell_value(i, 3)
currentPlayer = make_player(name,end,stam,phys)
AllPlayers.append(currentPlayer)
print(currentPlayer.end)

这是布局:

Readlayout = [
[sg.Text('Chose from list')],
[sg.Text('Name,Endurance,Stamina,Physical')],
[sg.Listbox([currentPlayer.name],size=(40,20),key='Players')],
[sg.Button('Ok')],
]

[currentPlayer.name]是一个只有一个玩家名字的列表。要获得所有玩家的名字,也许你可以像一样

[player.name for player in AllPlayers]

最新更新