-1

刚开始学习kivy。我下载的 Kivy 包有几个示例供我开始使用。但是,我很难理解它,因为它大部分是在 kvlang (file.kv) 的帮助下编写的。我确实经历了Kv教程,但我仍然不明白。

我对 Python 有一些不错的经验。但我无法将 Kv 示例与 Python 联系起来。下面是从 Kivy 教程中的 Pong Game 中提取的部分代码。

<PongGame>:    
    canvas:
        Rectangle:
            pos: self.center_x - 5, 0
            size: 10, self.height

    Label:
        font_size: 70  
        center_x: root.width / 4
        top: root.top - 50
        text: "0"

有人可以帮我将上面的 kv 代码翻译成 Python 形式吗?

顺便说一句,还有关于 Kivy 语言的其他教程吗?因为从长远来看,学习 Kvlang 仍然是更好的方法。

提前致谢。

4

1 回答 1

1

Kivy 语言要容易得多,但无论如何我希望这对您有所帮助。诀窍是做所有的进口。特别重要的是Window导入,因为您无法访问rootKivy 语言代码的外部。

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.graphics import Rectangle

class PongGame(Widget):

    def __init__(self, **kwargs):
        super(PongGame, self).__init__(**kwargs)

        label = Label(text = "0")
        label.font_size = 70  
        label.center_x = Window.width / 4
        label.top = Window.height - 50
        self.add_widget(label)

        with self.canvas:
            Rectangle(pos = (Window.width/2 - 5, 0), size = (10,Window.height))

class PongApp(App):
    def build(self):
        return PongGame()

if __name__ == '__main__':
    PongApp().run()
于 2013-06-17T07:38:01.907 回答