在 python 脚本中导入 kivymd 模块时,会出现一个空白窗口
Posted
技术标签:
【中文标题】在 python 脚本中导入 kivymd 模块时,会出现一个空白窗口【英文标题】:When importing a kivymd module in a python script, a blank window appears 【发布时间】:2021-07-24 11:50:06 【问题描述】:这是有问题的 python 脚本,存储在 file.py 中:
from kivymd.uix.tab import MDTabsBase
就是这样。没有别的了。
当我使用这个命令运行它时:
python file.py
一个空白窗口很快打开,然后消失。
我已阅读名为 tab.py 的 kivymd.uix.tab 源文件,但看不到任何在类定义之外运行的代码。
我使用的kivymd版本来自前几天下载的github master分支。
我不明白为什么这个空白窗口会在我调用 App().run() 之前出现。
感谢您的帮助。
【问题讨论】:
【参考方案1】:导入kivy.core.window
时,Kivy 会自动创建一个窗口。这是一个从未修复过的老设计错误,因为它几乎无关紧要,并且会破坏许多碰巧依赖它的应用程序,尽管我们最近讨论了如何纠正它。
所以,这可能是 kivymd 最终导入的内容,可能没有简单的解决方法。
根据您的需要,一种可能有效的解决方法是构建 kivy 无头,这样它就不会生成窗口。这意味着您的脚本永远无法创建一个窗口。
【讨论】:
以上是关于在 python 脚本中导入 kivymd 模块时,会出现一个空白窗口的主要内容,如果未能解决你的问题,请参考以下文章
无法在 python 脚本中导入 google.cloud 模块
在 Python 3 中导入模块时出现 AttributeError