【问题标题】:Python Builder Load file Strange errorPython Builder加载文件奇怪的错误
【发布时间】:2016-03-13 10:21:41
【问题描述】:

当我运行此代码时,它给了我以下错误。(尽管 main.kv 在同一路径中)。

这是错误>>

return mainwindow() TypeError: 'NoneType' 对象不可调用

这是代码

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import*

mainwindow = Builder.load_file("main.kv")

class KivyTest(App):
     def build(self):
     self.title="Kivy App Learning"
     return mainwindow()



x=KivyTest()
if __name__ == "__main__":
    x.run()

【问题讨论】:

    标签: python pycharm kivy


    【解决方案1】:

    我认为您不需要括号。试试这个(加上根据其他答案修复缩进):

    class KivyTest(App):
         def build(self):
             self.title="Kivy App Learning"
             return mainwindow
    

    【讨论】:

    • 这是正确的,但主窗口也是无。大概 kv 文件不包含 kv 文件定义。
    • 没有创建窗口。终止应用程序运行。
    • @inclement 感谢您的跟进。我同意,听起来 kv 文件也有问题。我们可能也需要看到这一点才能弄清楚这一点。
    • kivy 文件是空的,伙计。
    • 我不这么认为。您的 kv 文件为空,因此 mainwindow 变量变为 None。这意味着您的 build 方法也返回 None
    【解决方案2】:

    这可能是因为它的缩进代码

    试试这个:

    class KivyTest(App):
         def build(self):
             self.title="Kivy App Learning"
             return mainwindow()
    

    【讨论】:

    • 我尝试使用正确的缩进仍然没有成功。
    猜你喜欢
    • 1970-01-01
    • 2014-09-09
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多