0
我在一個類中創建了幾個tkinter按鈕,其中按鈕數量和按鈕屬性取決於文件中的函數(所以我不能創建特定數量的變量來保存按鈕)。在定義tkinter按鈕的循環中更改python變量標識符
我的代碼看起來像這樣(愛惜整個代碼的複雜性):
import os
import tkinter as tk
Class(GUI):
def ButtonCreator(self):
self.HomeworkList = open("Files\HWNameList.txt", "r")
x = self.HomeworkList.readline()
while not x == "END":
x = x[0:-1]
HomeworkFileName = str("Files\HW-" + x + ".txt")
locals()["self.Button" + x] = tk.Button(master, text = x, command = lambda: self.DisplayHomeworkFile(FileName))
locals()["self.Button" + x].pack()
x = self.HomeworkList.readline()
self.HomeworkList.close()
def DisplayHomeworkFile(self, filename):
os.startfile(filename)
我打開看起來像這樣的文件...
HomeworkName1
HomeworkName2
HomeworkName3
END
當代碼運行,它會顯示寫在它們上面的正確文本的按鈕,但是當我點擊它們時,它們只顯示文件名的文件最後寫在HomeworkList文件中。不知道我做錯了什麼。
如果還有其他方法可以實現我正在嘗試的功能,我可以接受所有建議。
謝謝。