没有kv语言的Kivy图像

时间:2015-05-27 18:05:42

标签: python kivy

我想制作一个小程序,以便学习如何在不使用kv语言的情况下添加图像,但它没有用。 这是代码:

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Color, Rectangle
from kivy.core.window import Window
from kivy.lang import Builder
from kivy.core.image import Image

class Sprite(Image):
    def __init__(self, **kwargs):
        super(Sprite, self).__init__(**kwargs)
        self.size = self.texture_size

class Game(Widget):
    def __init__(self):
        super(Game, self).__init__()
        self.add_widget(Sprite(source='feind.png'))

class GameApp(App):
    def build(self):
        game = Game()
        Window.size = game.size
        return game

if __name__ == '__main__':
    GameApp().run()

这是我收到的错误消息:

   File "g.py", line 10, in __init__
     super(Sprite, self).__init__(**kwargs)
 TypeError: __init__() takes exactly 2 arguments (1 given)

1 个答案:

答案 0 :(得分:1)

您使用的是错误的Image课程。 你应该使用:

from kivy.uix.image import Image

而不是

from kivy.core.image import Image

kivy.core.image.Image的构造函数实际上需要一个位置参数。这是TypeError的原因。但是你可能不想在这里使用那个类。 您最有可能想要使用图像窗口小部件,因此您应该使用kivy.uix.image.Image类。这个不需要位置参数。

相关问题