我想用OptionMenu我之前从网址中抓取的数据填充一些 。前任: with open('clubs.csv', newline ='') as club: reader=csv.reader(club) dummy_club = [] dummy_club.extend(reader)OptionMenu稍后我想在我的一个项目中使用它前任:sv_club = StringVar() d_club = OptionMenu(app,variable=sv_club,value=dummy_club)不幸的是,大约 700 个项目的列表全部放在一行/一行中,就像我OptionMenu在这张屏幕截图上单击我的 d_club 时一样: 在此输入图像描述知道我需要如何让代码在每个项目之后都会有一个新行吗?当我直接将抓取的数据作为列表导入到我的数据中时,OptionMenu它看起来很完美。但是,当我启动 GUI 时尝试导入 .csv 中保存的数据(因此当我调用app.mainloop())时,它就搞砸了。
1 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
您需要使用扩展/解包/splat 运算符*
。但是,由于数据是列表的列表(或元组的元组),因此您需要在执行此操作之前将内部列表转换为字符串,因为选项菜单需要字符串列表。
它可能看起来像这样:
dummy_club = [" ".join(row) for row in dummy_club] d_club = OptionMenu(app, sv_club, *dummy_club)
不过,具有 700 个值的 OptionMenu 将非常难以使用。您可能应该考虑使用 ttk Combobox 小部件。
添加回答
举报
0/150
提交
取消