Kivy GridLayout处于左下角并且看起来很奇怪

时间:2015-11-27 20:59:28

标签: python kivy

这些是代码:

app.py

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget

Builder.load_file("view.kv")

class LoginWidget(Widget):
    pass

class ClientApp(App):
    def build(self):
        return LoginWidget()

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

view.kv

#:kivy 1.9.0

<LoginWidget>:
    f_username: username
    f_password: password

    GridLayout:
        rows: 2
        cols: 2

        Label:
            text: "Okul Numarası"
        TextInput:
            id: username

        Label:
            text: "Şifre"
        TextInput:
            id: password
            password: True

但是,它位于左下角,压缩视图如下:

enter image description here

我写了一些像一个月前的代码,我记得我没有遇到这些问题。我错过了什么吗?

信息

  • Ubuntu 14.04
  • Python 3.x
  • Kivy 1.9.0

1 个答案:

答案 0 :(得分:2)

您的GridLayout的默认尺寸为100x100像素。设置size属性以进行更改:

<LoginWidget>:
    f_username: username
    f_password: password

    GridLayout:
        size: root.size # set the size manually

        rows: 2
        cols: 2
        Label:
            text: "Okul Numarası"
        TextInput:
            id: username

        Label:
            text: "Şifre"
        TextInput:
            id: password
            password: True

那是因为父母是Widget的子类。您也可以从Layout类派生:

class LoginWidget(FloatLayout):
    pass

然后你可以使用size_hint属性来精确控制它应该占用多少空间。