Roszerzające się okno

0

Witam, mam pytanie: podrzucam kod z 2ch plików, juz straciłem pomysły. Wywołując plik fileA.py otwiera mi się okno z dwoma buttonami exit i start. Exit działa ale jak klikę w start to potrzebuje otworzyć drugie okno fileB.pt. (chcę aby oba okna otwierały się w jednym window) Niby działa tylko problem mam w tym nie otwiera się "okno na oknie" tylko "dokleja się pod spodem" i mam efekt otwartych dwóch okien :/. Proszę o pomoc, z góry dziękuję:) Python 3.10

fileA.pl

import tkinter as tk

from GUI.module.scale_of_img import get_scale

class FirstPage:

    def __init__(self, root):
        self.root = root

    def get_settings(self):
        # Window settings
        self.root.title('....')
        self.root.resizable(False, False)
        self.root.geometry("1038x900")

    def get_picture(self):
        # Background loading and setting parameters
        self.bg = tk.PhotoImage(file="....png")
        self.logo = tk.PhotoImage(file="...logo.png")

        # Background image settings
        self.my_canvas = tk.Canvas(self.root, width=1038, height=500)
        self.my_canvas.pack(fill="both", expand=True)
        self.my_canvas.create_image(0, 150, image=self.bg, anchor="nw")
        self.my_canvas.create_image(0, 800, image=self.logo, anchor="nw")

    def get_text(self):
        title = """..."""

        describe = """..."""

        # Text on page
        self.my_canvas.create_text(500, 80,
                                   text=title,
                                   font=("Helvetica", 30),
                                   justify='center', fill="red")

        self.my_canvas.create_text(500, 650,
                                   text=describe,
                                   font=("Helvetica", 10),
                                   justify='center')

    def get_second_page(self):
        from GUI.module.second_page import SecondPage
        SecondPage(self.root).get_run()

    def get_button(self):
        # Add buttons
        button1 = tk.Button(self.root, text="Start", command=self.get_second_page)
        button2 = tk.Button(self.root, text="Exit", command=self.root.destroy)

        # Dimensions and location of buttons
        self.my_canvas.create_window(200, 300, anchor="nw", window=button1, height=50, width=200)
        self.my_canvas.create_window(650, 300, anchor="nw", window=button2, height=50, width=200)

    def get_run_first_page(self):
        # Launching the application
        self.get_settings()
        self.get_picture()
        self.get_text()
        self.get_button()
        get_scale()
        self.root.mainloop()


if __name__ == '__main__':
    first = FirstPage(tk.Tk())
    first.get_run_first_page()

fileB.py

import tkinter as tk

"importy...""

''' The second side of the application '''

class SecondPage:

    def __init__(self, root=None):
        self.root = root
        self.my_canvas = tk.Canvas(self.root, width=1038, height=678)
        self.my_canvas.pack(fill="both", expand=True)

    # def get_settings(self):
    #     # Window settings
    #     self.root.title('....')
    #     self.root.resizable(False, False)
    #     self.root.geometry("1038x900")

    def get_picture(self):
        # Background loading and setting parameters
        self.bg = tk.PhotoImage(file="...background.png")
        self.logo = tk.PhotoImage(file="...logo.png")

        # Background image settings
        self.my_canvas.create_image(0, 150, image=self.bg, anchor="nw")
        self.my_canvas.create_image(0, 800, image=self.logo, anchor="nw")


    def get_text(self):
        # Program title
        title = """..."""

        self.my_canvas.create_text(520, 80,
                                   text=title,
                                   font=("Helvetica", 30),
                                   justify='center', fill="red")

    def get_aaa(self):
        ThirdPage....(tk.Toplevel()).get_run()

    def get_bbb(self):
        ThirdPage....(tk.Toplevel()).get_run()

    def get_ccc(self):
        ThirdPage....(tk.Toplevel()).get_run()

    def get_button(self):
        # Add buttons
        button1 = tk.Button(self.root, text="...", command=self.aaa)
        button2 = tk.Button(self.root, text="...", command=self.bbb)
        button3 = tk.Button(self.root, text="...", command=self.ccc)
        button4 = tk.Button(self.root, text="Exit", command=self.root.destroy)

        # Dimensions and location of buttons
        self.my_canvas.create_window(100, 380, anchor="nw", window=button1, height=200, width=200)
        self.my_canvas.create_window(430, 380, anchor="nw", window=button2, height=200, width=200)
        self.my_canvas.create_window(750, 380, anchor="nw", window=button3, height=200, width=200)
        self.my_canvas.create_window(0, 100, anchor="nw", window=button4, height=50, width=200)

    def get_run(self):
        # Launching the application
        # self.get_settings()
        self.get_picture()
        self.get_text()
        self.get_button()


if __name__ == '__main__':
    second = SecondPage(tk.Tk())
    second.get_run()```
0

Problem rozwiązany na stack'u :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1