我想从创建框架的类的外部更改标签中的文本。
这里是当前的代码,我已经削减了很多。
import tkinter as tk
import sys
class MyWindow(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.label = tk.Label(self, text="Hello, world")
self.label.pack()
root = tk.Tk()
run = MyWindow(root)
run.label.config(text = 'dddddddddd')
root.geometry('480x320')
MyWindow(root).pack()
root.mainloop()如果我改变了
self.label = tk.Label(self, text="Hello, world") 至
self.label = tk.Label(root, text="Hello, world")我最终得到了一个新的标签(我猜是我创建的标签的一个新实例堆叠在上一个标签上)。
发布于 2018-09-05 22:33:03
您永远不会对您创建并称为run的MyWindow实例执行pack操作,而是对一个没有更改标签文本的新实例执行pack操作。
变化
MyWindow(root).pack()至
run.pack()https://stackoverflow.com/questions/52187592
复制相似问题