Дочернее окно в tkinter не показывает содержимое

Я создаю приложение с графическим интерфейсом, используя Python-библиотеку Tkinter. Фоновую основу я вынес в отдельный файл для удобства. В приложении есть основное окно, класс которого наследуется от класса основы, откуда пользователь переходит в один из двух разделов, каждый из которых представлен своим классом и окном. Классы этих двух разделов так же наследуются от класса основы. Однако при нажатии на какую либо из кнопок появляется просто пустое окно нужных размеров с заголовком, содержимое не отображается, и я не могу понять почему. Может кто подсказать причину?

Код основы:

import tkinter as tk
from PIL import Image, ImageTk

class Base(tk.Tk):
    def __init__(self):
        super().__init__()
        self.geometry("800x600")
        self.title("Справочник 3D-печатника")
        self.background = tk.Canvas(width=800, height=600,
                                    highlightthickness=0)
        self.background.pack()
        self.img_back = Image.open("cackground.jpg")
        self.img_back = self.img_back.resize((800,600), Image.ANTIALIAS)
        self.img_back = ImageTk.PhotoImage(self.img_back, master=self.background)
        self.background.create_image(0,0, anchor="nw", image=self.img_back)
        self.background.create_text(415,40, text="Справочник 3D-печатника", 
                                    font=("Times New Roman", 32, "bold"), fill='blue')
        self.vert_line = tk.Canvas(width=755,height=3, bg='black',
                                   highlightthickness=0, borderwidth=0)
        self.vert_line.place(x=20,y=90)
        self.exit_img = Image.open("button_exit.jpg")
        self.exit_img = self.exit_img.resize((85,80), Image.ANTIALIAS)
        self.exit_img = ImageTk.PhotoImage(self.exit_img, master=self.background)
        self.exit_button = tk.Button(width=85, height=80, image=self.exit_img,
                                     relief=tk.RAISED, command=self.destroy,
                                     highlightthickness=0, borderwidth=0)
        self.exit_button.place(x=670, y=508)

Код стартового окна:

import tkinter as tk
from PIL import Image, ImageTk
from base import Base

class ModelingWindow(Base):
    def __init__(self):
        super().__init__()
        
        
class PrintingWindow(Base):
    def __init__(self):
        super().__init__()        

class MainWindow(Base):
    def __init__(self):
        super().__init__()
        self.line = tk.Canvas(self.background, width=10, height=400, bg='red',
                              relief=tk.GROOVE,
                              highlightthickness=0, borderwidth=3)
        self.line.place(x=400, y=240)
        self.button_modeling = tk.Button(text="3D-моделирование", width=20, height=2,
                                         relief=tk.RAISED, fg='blue',
                                         font=("Times New Roman", 18, "bold"),
                                         highlightthickness=0, command=self.show_modeling)
        self.button_modeling.place(x=50, y=330)
        self.button_printing = tk.Button(text="3D-печать", width=20, height=2,
                                         relief=tk.RAISED, fg='blue',
                                         font=("Times New Roman", 18, "bold"),
                                         highlightthickness=0, command=self.show_printing)
        self.button_printing.place(x=470, y=330)
        
    def show_modeling(self):
        modeling = ModelingWindow()
        self.destroy()
        modeling.mainloop()
        
    def show_printing(self):
        printing = PrintingWindow()
        self.destroy()
        printing.mainloop()
        
        
if __name__ == "__main__":
    main_window = MainWindow()
    main_window.mainloop()

Ответы (0 шт):