Во-первых, я прошу прощения, если я пропустил необходимый код.Я новичок в программировании, и я впервые разрабатываю приложение с графическим интерфейсом - я не уверен, что показываю, что вам нужно, чтобы помочь мне.
Я пытаюсь разработать мульти-приложение.окно графического приложения для ввода данных в моей компании.Я использовал страницу для создания страниц.В настоящее время у меня есть 3 страницы, которые работают индивидуально, и множество функций для импорта и сохранения данных.Сейчас я пытаюсь создать функцию, которая скрывает все виджеты в корневом окне, чтобы я мог создать / показать новый Toplevel без видимых старых виджетов.
ClassB содержит все виджеты для моего корневого окна.Я пытаюсь вызвать ClassA.main_continue, который я хочу отобразить виджеты pageC и скрыть все виджеты root / classB.
Я получаю сообщение об ошибке «Максимальная глубина рекурсии превышена при вызове объекта Python».Python чередуется между попытками выполнить строки с метками "##### ... 1" и "##### .. 2" перед выходом с этой ошибкой.
Я потратил 10 часов на исследование ипробуя разные методы, чтобы открыть новое окно и скрыть старое окно.Со временем у меня будет 6-8 окон, поэтому я хочу отдельный класс, который я могу использовать для управления ими всеми.
import tkinter as tk
root = tk.Tk()
top = ClassB (root)
class ClassA: #class that contains functions to control program/do tasks
def main_continue(self, top):
ClassC(root)
x = ClassB(top) ################################## 1
self.x.main_button1.place_forget()
class ClassB: #root window
def __init__(self, top=None):
y = ClassA()
self.main_button1 = tk.Button(top, command= y.main_continue(top)) ######################2
self.main_button1.pack()
self.main_button1.place(relx=0.383, rely=0.5, height=24, width=140)
self.main_button1.configure(text='''Continue''')
class ClassC: #2nd page
def __init__(self, top=None):
## code for a different page of widgets