【问题标题】:How to add Images into a Kivy StackLayout?如何将图像添加到 Kivy StackLayout?
【发布时间】:2018-01-25 23:53:35
【问题描述】:

我正在尝试将一些图像放入 Kivy 的 StackLayout 中,但效果不佳。

当我放置简单的按钮或标签时,StackLayout 会像堆栈一样添加小部件。

但是当我添加一个带有画布的标签时:它不能正常工作。

我正在使用 on_press() 事件来执行此操作。我的 on_press() 函数做到了:

    # The Label works fine without any widget inside it
    lb = Label(text='Hi', size_hint=(1., .1))

    # It just adds only one image
    """with lb.canvas:
        Color(1, 1, 1)
        Rectangle(size=lb.size, pos=lb.pos,
            source='images/parking_free.png')
    """

    lb = Label(text='Hi', size_hint=(1., .1))
    self.ids.my_stack_layout.add_widget(lb)

请忽略图片中的按钮!我在我的 .kv 中使用它进行测试。

工作正常:When I use a simple Label

不起作用:When I use canvas inside a Label

【问题讨论】:

  • 你试过了吗,如果你给画布一个定义的大小会发生什么?从现在开始,您使用size_hint 作为标签,使用size 作为画布。
  • 我试过了,但是图片放在了其他地方,看起来像是放在了另一个地方。
  • 感谢您的帮助!我使用 Image Widget 和 size_hint 作为 Label 并且它工作。 img = Image(source='images/parking_free.png', size_hint=(1, .1))

标签: android python mobile kivy


【解决方案1】:

您有什么理由不能使用 Image Widget 而不是 Label Widget?

【讨论】:

  • 我试过了,但是图片放到了StackLayout之外。
  • 感谢您的帮助!我使用 Image Widget 和 size_hint 作为 Label 并且它工作。 img = Image(source='images/parking_free.png', size_hint=(1, .1))
猜你喜欢
  • 1970-01-01
  • 2021-10-31
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 2021-11-16
  • 2011-08-07
  • 2011-06-15
相关资源
最近更新 更多