Изменение ярлыка Tkinter за пределами класса - PullRequest
0 голосов
/ 05 сентября 2018

Я хочу изменить текст в метке вне класса, создающего фрейм.

Вот текущий код, который я много вырубил.

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

Я получаю новый ярлык (полагаю, новый экземпляр ярлыка, который я создал, сложен поверх последнего).

1 Ответ

0 голосов
/ 05 сентября 2018

Вы никогда не pack экземпляр MyWindow, который вы создали и назвали run, вместо этого вы pack новый экземпляр, в котором вы не изменили текст метки.

Изменение

MyWindow(root).pack()

до

run.pack()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...