kivy应用程序运行时未实现build()方法

2024-10-04 09:29:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道为什么Kivy代码一直显示相同的黑色窗口,尽管对kv文件做了一些更新。然后注意到我在buidl()方法上有一个输入错误

从文档“…实现其build()方法,以便返回小部件实例(小部件树的根) …”,则必须实现该方法

为什么这段代码会运行并给出默认的黑色窗口

# game.py
from kivy.app import App
from kivy.uix.widget import Widget


class Game(Widget):
    pass


class GameApp(App):
    def buidl(self):
        return Game()


GameApp().run()

kv文件

#game.kv
<Game>:
    canvas:
        Color:
            rgb: .5,.5, 1.0
        Rectangle:
            pos: 0,0
            size: self.size

运行kivy1.11.1python3.7


Tags: 文件方法代码fromimportgameapp部件
1条回答
网友
1楼 · 发布于 2024-10-04 09:29:50

Kivy应用程序有一个默认的build()方法,您可以看到here;它只返回一个空的小部件。通常,kivy有两种方法来创建根小部件树,一种是重写build(),另一种是在kv文件中定义根小部件。有关更多信息,请参阅关于创建应用程序的the documentation

你的引述可以在kivy basics中找到,在你引述的句子之前:

Creating a kivy application is as simple as:

我猜作者决定让基础教程简单一些,并且没有提到build的默认实现,因为它实际上没有做任何有用的事情。他们还省略了定义根小部件的方法;同样,我想在这第一篇介绍中不会让读者不知所措

相关问题 更多 >