В настоящее время я пишу приложение и создал для него три класса.
Первый класс содержит все функции. Второй класс содержит виджет «окно», а третий класс содержит панель навигации.
Когда я наследую от второго класса первый класс, кнопка работает и выполняет функции. В тот момент, когда я наследую от класса навигации класс окна, через который я наследую и класс функции, мои виджеты внезапно удваиваются.
Кнопки работают (обе кнопки работают), но, очевидно, я не хочу, чтобы это удвоилось.
Может кто-нибудь объяснить это мне?
Это выходные данные с наследованием от Start до FunctionClass
Это вывод, когда TopMenu наследует от Start и Start от FunctionClass
Мой код:
from tkinter import *
class FunctionClass:
def print_text(self):
print("This is an example!")
class Start(FunctionClass):
def __init__(self, master):
super().__init__()
frame = Frame(master)
frame.pack()
self.label = Label(frame,text="This is just a label.").pack()
self.label2 = Label(frame, text="This is second label.").pack()
self.button = Button(frame, text="Magic Button", command=self.print_text).pack()
class TopMenu(Start):
def __init__(self, master):
super().__init__(master)
# *******Top-Navigation Bar**********
tnb = Menu(master)
root.config(menu=tnb)
# *******tnb_file*******
tnb_file = Menu(tnb, tearoff=0)
tnb.add_cascade(label="File", menu=tnb_file)
tnb_file.add_command(label="Button", command=self.print_text)
tnb_file.add_separator()
tnb_file.add_command(label="Exit", command=root.destroy)
root = Tk()
g = Start(root)
d = TopMenu(root)
root.mainloop()