При импорте модуля kivymd в скрипт python появляется пустое окно

Это оскорбительный скрипт Python, хранящийся в file.py:

      from kivymd.uix.tab import MDTabsBase

Вот и все. Ничего больше.

Когда я запускаю его с помощью этой команды:

      python file.py

Вскоре откроется пустое окно, а затем исчезнет.

Я прочитал исходный файл kivymd.uix.tab с именем tab.py и не вижу кода, который выполняется вне определений классов.

Версия kivymd, которую я использую, взята из основной ветки github, загруженной несколько дней назад.

Я не понимаю, почему это пустое окно должно появиться даже до того, как я вызвал App(). Run().

Буду признателен за вашу помощь.

1 ответ

Решение

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

Так что, вероятно, это то, что в конечном итоге импортирует kivymd, и не может быть простого способа обойти это.

Один из обходных путей, который может сработать, в зависимости от того, что вам нужно, - это создать kivy headless, чтобы он не создавал окна. Это будет означать, что ваш скрипт никогда не сможет создать окно.

Другие вопросы по тегам