Собственно есть такой код накиданый мной. Изначально передо мной была задача: Создать приложение с использованием tkinter и ООП подхода к построению GUI, чтоб было главное окно и дочернее, которое вызывается по клику на кнопку. Я новичёк, но погуглив и почитав литературу моё решение вылилось в такой вот код. Есть основной класс Main который наследуется от Frame и является родительским окном, также есть класс Child который наследуется от Toplevel в свою очередь является дочернем окном.
Вопрос состоит в том, на сколько корректно я реализовал данную задачу с профессиональной точки зрения. Хочу мнения опытных Питонистов, данная задача всплывает у многих в той или иной реализации. Есть желания создать базовый шаблон чтоб дальше продолжить реализацию собственного приложения.
import tkinter as tk
class Main(tk.Frame):
def __init__(self, root):
super().__init__(root)
self.init_main()
def init_main(self):
toolbar = tk.Frame(bg='#d7d8e0', bd=2)
toolbar.pack(side=tk.TOP, fill=tk.X)
btnOpenDialog = tk.Button(toolbar, text='Добавить позицию', command=self.open_dialog, bg='#d7d8e0', bd=0, compound=tk.TOP)
btnOpenDialog.pack(side=tk.LEFT)
def open_dialog(self):
Child()
class Child(tk.Toplevel):
def __init__(self):
super().__init__(root)
self.title('Добавить доходы/расходы')
self.geometry('400x220+400+300')
self.resizable(False, False)
if __name__ == "__main__":
root = tk.Tk()
app = Main(root)
app.pack()
root.title("Домашние финансы")
root.geometry("650x450+300+200")
root.resizable(False, False)
root.mainloop()