我想用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
提交
取消