【发布时间】:2020-04-18 06:31:45
【问题描述】:
我正在使用 StringVar 来更新 GUI 上的标签。
我正在使用 set 方法更新值,但在应用程序运行时文本从未显示。
我可以使用 get 方法(最终的打印语句,如下所示)并看到已传递给它的值,但它仍然没有显示在我的窗口上。我正在使用带有 Spyder 的 mac。
class Application(tk.Frame):
def __init__(self, bud, master=None):
super().__init__(master)
self.bud = bud
self.master = master
self.pack()
self.bud.update_all()
self.r = 1
self.create_widgets()
def create_widgets()
trans = [tk.StringVar() for c in self.bud.categories]
for i, c in enumerate(self.bud.categories):
tk.Label(self, text = c.name, anchor = "w").grid(row = self.r, column = 0)
tk.Label(self, textvariable = trans[i],fg = "black").grid(row = self.r, column = 1)
trans[i].set("Hello")
self.r +=1
print(trans[i].get())
此部分在主脚本中的类之外运行
root = tk.Tk()
app = Application(bud, master = root)
app.mainloop()
【问题讨论】:
-
按预期修复它对我有用的错误,阅读tkinter-checkbutton-text-wont-show-up
标签: python macos tkinter label