Kivy上的图像尺寸

时间:2017-06-18 17:42:29

标签: python user-interface kivy

我为pratice创建了一个非常简单的应用程序,我在使用Kivy GUI时遇到了一些麻烦。 我希望得到相同尺寸的所有图像,如果可能的话,可以创建所有垂直框布局的图像。

:     名: '价格'

Uint8ClampedArray(4);

enter image description here

1 个答案:

答案 0 :(得分:3)

图像宽度相同:

选项1 :您可以设置宽度,但必须将相应的尺寸提示设置为无。

Image:
    size_hint_y: None
    source:"Astronaut3.jpg"
    width: 100
    allow_stretch: True

选项2:使用size_hint

Image:
    source:"Astronaut2.jpg"
    size_hint_x: 0.4
    allow_stretch: True

创建一行

同样有不同的选择。您可以使用kivy Graphics中的Line。一个简单直接的解决方案是使用Label并使其成为您选择的颜色,然后使其非常小。

Label:
    canvas.before:
        Color: 
            rgba: (1,1,1,1)
        Rectangle:
            size: self.size
            pos: self.pos
    size_hint_y: None
    height: 1

示例应用

以下是一个示例App中提到的所有内容。在编码时重复自己不是好习惯,但我这样做是为了尽可能地反映你的问题。

enter image description here

示例应用示例:

from kivy.app import App
from kivy.base import Builder
from kivy.properties import StringProperty
from kivy.uix.boxlayout import BoxLayout

Builder.load_string("""
<rootwi>:
    orientation:'vertical'

    BoxLayout:
        padding:5
        Image:
            source:"Astronaut2.jpg"
            size_hint_x: 0.4
            allow_stretch: True

        Label:
            text:"01 Camisa Polo"
            font_size:11
            bold:True

        Label:
            text:"R$:6,00"
            font_size:10
    Label:
        canvas.before:
            Color: 
                rgba: (1,1,1,1)
            Rectangle:
                size: self.size
                pos: self.pos
        size_hint_y: None
        height: 1

    BoxLayout:
        padding:5
        Image:
            source:"Astronaut3.jpg"
            size_hint_x: 0.4
            allow_stretch: True

        Label:
            text:"01 Camisa Polo"
            font_size:11
            bold:True

        Label:
            text:"R$:6,00"
            font_size:10

    Label:
        canvas.before:
            Color: 
                rgba: (1,1,1,1)
            Rectangle:
                size: self.size
                pos: self.pos
        size_hint_y: None
        height: 1

    BoxLayout:
        padding:5
        Image:
            size_hint_y: None
            source:"Astronaut2.jpg"
            width: 100
            allow_stretch: True

        Label:
            text:"01 Camisa Polo"
            font_size:11
            bold:True

        Label:
            text:"R$:6,00"
            font_size:10
    Label:
        canvas.before:
            Color: 
                rgba: (1,1,1,1)
            Rectangle:
                size: self.size
                pos: self.pos
        size_hint_y: None
        height: 1

    BoxLayout:
        padding:5
        Image:
            size_hint_y: None
            source:"Astronaut3.jpg"
            width: 100
            allow_stretch: True

        Label:
            text:"01 Camisa Polo"
            font_size:11
            bold:True

        Label:
            text:"R$:6,00"
            font_size:10


""")
class rootwi(BoxLayout):
    pass


class MyApp(App):
    def build(self):
        return rootwi()

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