Сначала вы должны использовать self.scoreboard
, чтобы получить доступ из других мест.
self.scoreboard = tk.Label(self, text="This is like scoreboard")
self.scoreboard.pack()
, и теперь вы можете удалить его, используя
command=app.scoreboard.pack_forget
Вы также можете отправить главное окно в качестве аргумента ко второму окну
ctr = Control(app)
class Control(tk.Toplevel):
def __init__(self, parent):
и затем вы можете связать
command=parent.scoreboard.pack_forget
import tkinter as tk
class Main(tk.Tk):
def __init__(self):
super().__init__()
self.title("Scorebug")
self.geometry("500x300")
self.configure(background="green")
self.scoreboard = tk.Label(self, text="This is like scoreboard")
self.scoreboard.pack()
class Control(tk.Toplevel):
def __init__(self, parent):
super().__init__()
self.title("Controls")
self.geometry("100x300")
self.configure(background="red")
hidelabels = tk.Button(self, text="Hide the scoreboard", command=parent.scoreboard.pack_forget)
hidelabels.pack()
app = Main()
ctr = Control(app)
app.mainloop()
РЕДАКТИРОВАТЬ: Вы также можете отправить только scireboard
в качестве аргумента для второго окна
ctr = Control(app.scoreboard)
и затем вы можете связать
command=parent.pack_forget