【问题标题】:kivy: How to place images in BoxLayout?kivy:如何在 BoxLayout 中放置图像?
【发布时间】:2017-04-17 13:34:57
【问题描述】:

我查看了this 的问题,但那是不同的。

我只是从 kivy 开始,所以我想这很简单:\

我想将两个图像放入 BoxLayout。到目前为止,这是我的代码:

import kivy
kivy.require('1.9.1')

from kivy.app import App
from kivy.core.image import Image as CoreImage
from kivy.uix.boxlayout import BoxLayout

class TestApp(App):

    def build(self):
        layout = BoxLayout(orientation='horizontal')

        im1 = CoreImage("image1.png")
        im2 = CoreImage("image2.png")

        layout.add_widget(im1) # this is line 33
        layout.add_widget(im2)

        return layout

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

程序不显示窗口,而是将这个错误信息打印到终端:

 Traceback (most recent call last):
   File "./myprog.py", line 39, in <module>
     TestApp().run()
   File "/usr/lib/python3.6/site-packages/kivy/app.py", line 802, in run
     root = self.build()
   File "./myprog.py", line 33, in build
     layout.add_widget(im1)
   File "/usr/lib/python3.6/site-packages/kivy/uix/boxlayout.py", line 212, in add_widget
     pos_hint=self._trigger_layout)
   File "kivy/_event.pyx", line 438, in kivy._event.EventDispatcher.bind (kivy/_event.c:6473)
 KeyError: 'pos_hint'

图像存在。如果我将pos_hint={'x':0,'y':0} 添加到CoreImage“构造函数”,我会得到同样的错误。

我正在使用 python 3.6.0 和 kivy 1.9.1

【问题讨论】:

    标签: python kivy


    【解决方案1】:

    核心图像不是小部件。您应该改用kivy.uix.image
    来自kivy.core.image

    用于加载图像并将其转换为纹理的核心类。原始图像数据可以保存在内存中以供进一步访问。

    所以要让你的例子工作:

    from kivy.app import App
    from kivy.uix.image import Image
    from kivy.uix.boxlayout import BoxLayout
    
    class TestApp(App):
    
        def build(self):
            layout = BoxLayout(orientation='horizontal')
    
            im1 = Image(source="image1.png")
            im2 = Image(source="image2.png")
    
            layout.add_widget(im1)
            layout.add_widget(im2)
    
            return layout
    
    if __name__ == '__main__':
        TestApp().run()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多