我目前正在使用Tkinter進行一些代碼工作,並且我遇到了一個無法用任何Google搜索解決的問題。對列表進行迭代以製作小部件
本質上,我有一個函數,它讀取文本文件中的行並將其分發到列表中。我的問題是我不知道會有多少標籤會出現,所以我設置了一個計數器變量和一個for循環。
我的問題是如何定義一個Tkinter的部件,像這樣:
self.label(counter value here) = Label(self, text = line)
我目前正在使用Tkinter進行一些代碼工作,並且我遇到了一個無法用任何Google搜索解決的問題。對列表進行迭代以製作小部件
本質上,我有一個函數,它讀取文本文件中的行並將其分發到列表中。我的問題是我不知道會有多少標籤會出現,所以我設置了一個計數器變量和一個for循環。
我的問題是如何定義一個Tkinter的部件,像這樣:
self.label(counter value here) = Label(self, text = line)
這是通常做這樣的事情與列表理解
self.labels = [Label(self, text=val) for val in my_list_of_texts]
現在可以通過索引self.labels[0]
直接訪問它們,self.labels[1]
,...
但是通常你會遍歷整個列表
for label in self.labels:
label.some_method()
do_something(label)
...
你的意思是這樣的?
for val in my_list_of_texts:
self.labels.append(Label(self, text = val))
我不太得到什麼問題..
我已經解決了我的問題,謝謝你,但我是問如何創建依賴於一個變量的窗口小部件,就像如果計數器變量分別是3,這將是 'self.label3 = LABEL(自我,文本=行)', 我最終用'exec'命令解決了這個問題。 –
將它放入容器不是更好嗎?你能告訴我們你的答案嗎? (例如通過回答你自己的問題;)) – jaor
我寧願不回答,因爲我不是100%確定這是最好的解決方案。 –