如何使用Kivy的核心图像?

时间:2015-09-29 18:04:53

标签: python kivy

我有一个网格布局,并添加了一些我想用来显示图片的CoreImage小部件。我选择不使用uix.image,因为CoreImage更快,我想经常在几张图片之间切换。

当我执行self.add_widget(CoreImage('Transparent.png'))时,我的程序将崩溃。

Traceback (most recent call last):
   File "/path/to/my/app.py", line 1030, in <module>
     MyApp().run()
   File "/usr/lib/python2.7/dist-packages/kivy/app.py", line 798, in run
     root = self.build()
   File "/path/to/my/app.py", line 702, in build
     self.build_grid()
   File "/path/to/my/app.py", line 696, in build_grid
     self.grid.build_self()
   File "/path/to/my/app.py", line 134, in build_self
     self.add_widget(CoreImage('Transparent.png'))
   File "/usr/lib/python2.7/dist-packages/kivy/uix/layout.py", line 80, in add_widget
     size_hint=self._trigger_layout)
   File "_event.pyx", line 436, in kivy._event.EventDispatcher.bind (kivy/_event.c:5429)
 KeyError: 'size_hint'

我做错了什么?当我使用uix.image时,这很好用。

2 个答案:

答案 0 :(得分:1)

kivy.core.image.Image(我认为这就是你的意思)不是一​​个小部件,你不能像这样使用它。使用kivy.uix.image.Image

答案 1 :(得分:1)

我试图显示一堆内存加载的图像。出现这样的事情:

from kivy.uix.image import Image
from kivy.core.image import Image as CoreImage

self.add_widget(Image(texture=CoreImage('Transparent.png').texture))

希望它有所帮助。