kivy布局:想要将组件的高度比例设置为5:1

时间:2018-08-12 23:54:08

标签: python layout kivy

我想做一个布局,使TextInput块的高度是按钮的高度的5倍。我尝试了几次,但失败了。

布局代码如下:

Builder.load_string("""
<VQCIA_SUMMARY>:
    BoxLayout:
        TextInput:
            pos:200,100
            size:400,500
            font_size: '25sp'
            multiline: True
            text: 'Summary:'

    BoxLayout:
        Button:
            pos:200,0
            size:400,100
            text: "Back Home"
            font_size: '25sp'
""")

当我将Textinput的高度设置为500并将按钮的高度设置为100时,结果保留为1:1。会发生什么?

1 个答案:

答案 0 :(得分:0)

  1. 关于高度,分别将size_hint_y: 0.5size_hint_y: 0.1设置为TextInput和Button小部件。
  2. size: 400, 500size: 400, 100替换size_hint_x: Nonewidth: 400

Widget » size_hint_y

size_hint_y

y尺寸提示。

size_hint_y是NumericProperty,默认为1。

有关更多信息,请参见size_hint_x,但宽度和高度已互换。

Widget » size_hint

  

如果您不想使用size_hint作为宽度或高度,   将该值设置为“无”。

摘要

    BoxLayout:
        size_hint_y: 0.5
        TextInput:
            size_hint_x: None
            width: 400

    BoxLayout:
        size_hint_y: 0.1
        Button:
            size_hint_x: None
            width: 400

示例

main.py

from kivy.lang import Builder
from kivy.base import runTouchApp

runTouchApp(Builder.load_string('''
#:kivy 1.11.0

BoxLayout:
    orientation: 'vertical'

    BoxLayout:
        size_hint_y: 0.5
        TextInput:
            pos: 200, 100
            size_hint_x: None
            width: 400
            font_size: '25sp'
            multiline: True
            text: 'Summary:'

    BoxLayout:
        size_hint_y: 0.1
        Button:
            pos: 200, 0
            size_hint_x: None
            width: 400
            text: "Back Home"
            font_size: '25sp'
'''))

输出

Img01