从类外部更改Tkinter标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从类外部更改Tkinter标签相关的知识,希望对你有一定的参考价值。

我想从创建框架的类的外部更改标签中的文本。

这是我减少的当前代码。

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")

我最终获得了一个新标签(我猜测我创建的标签的新实例堆叠在最后一个标签之上)。

答案

你永远不会pack你创建的MyWindow实例并调用run,而是你pack一个你没有更改Label文本的新实例。

更改

MyWindow(root).pack()

run.pack()

以上是关于从类外部更改Tkinter标签的主要内容,如果未能解决你的问题,请参考以下文章

从变量更新 Tkinter 标签

从 xml 片段中删除 html 标签? [复制]

如何使用 Flask API 更改 Tkinter 标签

Python/tkinter:一次命令执行两次更改标签

在Android中,如何将数据从类传递到相应的布局/片段文件?

如何更改标签小部件中的文本大小,python tkinter [重复]