Попытался перенести код на tkinter в формат ооп, до этого выводил всё корректно, сейчас же выводит только пустое окно, что делать?

Если ваш код на tkinter раньше работал правильно, а теперь он просто показывает пустое окно, это может быть связано с несколькими возможными причинами. Давайте рассмотрим ключевые аспекты, которые могут помочь найти проблему.

1. Проверьте вашу структуру класса. Убедитесь, что вы правильно наследуетесь от класса tkinter.
Пример класса при использовании tkinter:

   from tkinter import Tk, Button

   class MyApplication(Tk):
       def __init__(self):
           super().__init__()

           self.button = Button(self, text="Click me", command=self.button_clicked)
           self.button.pack()

       def button_clicked(self):
           print("Button clicked!")

   app = MyApplication()
   app.mainloop()

Проверьте, что ваш класс наследует от правильного класса. Например, MyApplication(Tk) означает, чтоMyApplication наследуется от базового класса Tk.

2. Проверьте, что вы правильно использовали метод mainloop().
Ваше главное окно приложения должно быть запущено с помощью метода mainloop(), чтобы обеспечить непрерывную работу вашего приложения.
Пример использования mainloop():

   app = MyApplication()
   app.mainloop()

Убедитесь, что ваше приложение вызывает mainloop() в конце кода.

3. Убедитесь, что вы создаёте и размещаете элементы интерфейса (виджеты) в правильном порядке.
В приложении tkinter нужно создавать и размещать виджеты в правильном порядке, чтобы они корректно выводились на экран.
Например, сначала нужно создать кнопку, а затем вызвать метод pack() или grid(), чтобы расположить кнопку на окне.
Пример:

   self.button = Button(self, text="Click me", command=self.button_clicked)
   self.button.pack()

Убедитесь, что вы правильно создаете и размещаете виджеты в вашем коде.

4. Убедитесь, что ваш код не содержит ошибок синтаксиса или логических ошибок.
Проверьте ваш код на наличие синтаксических ошибок и опечаток. Убедитесь, что все переменные и методы правильно названы и вызываются с правильными аргументами.

Например, в случае опечатки при создании виджета, он может не отображаться на окне.

   self.button = Button(self, test="Click me", command=self.button_clicked)
   self.button.pack()

Здесь исправлено "test" на "text" в аргументе при создании кнопки.

Также убедитесь, что все методы, которые вы используете, существуют и определены в вашем классе.

5. Проверьте другие детали, такие как размер окна, свойство видимости виджетов и так далее.
Убедитесь, что ваше окно имеет достаточный размер, чтобы виджеты отображались корректно. Проверьте свойства видимости виджетов и другие свойства, которые могут быть влияющими на отображение интерфейса.

Убедитесь также, что ваше окно отображается на видимом экране или виртуальном окружении, если вы используете среду разработки.

6. Проверьте, какие-либо потенциальные ошибки в конкретных частях вашего кода.
Обратите внимание на любые предупреждающие или ошибочные сообщения, которые могут появиться при выполнении вашего кода. Они могут указывать на конкретные проблемы в вашем коде.

Например, если у вас есть цикл, который перерисовывает экран, вы можете столкнуться с проблемами отображения или зависания интерфейса.

Используя эти шаги, вы сможете идентифицировать какие-либо проблемы, которые мешают вашему коду tkinter работать должным образом. Обратите внимание на детали вашего кода и сверьте его с примерами, которые я привел выше.