没有引入App对象,就不会得到一个窗口。
kvlanguage用来构建UI界面,这个文件保存成”.kv”。
kivy用widget来描述UI元素,lable、layout等都是widget
简单一点的widget包括:
Label是展示文字
Button更加偏交互,接受点击和触屏操作
TextInput用来接受键盘输入的信息
高级一点的widget包括:
TabbedPanel或者FileChooser,他们是由其他多个widget组成的。
高级的widget通常是由Layout widget组成,Layout里面又有几个子类,比如BoxLayout,FloatLayout等。
每个KV文件里最外层的widget叫做root widget,每个KV文件里只能有一个root widget。
Lable 有一个text的特性。特性和其对应的值中间通过”:”隔开。
根widget是直接连接到kivy窗口中并在其中进行展示的;如果根widget里面存在多个子widget,也是一样进行展示的。
Layout像是一个容器,它知道如何安排存在与它里面的widgets的位置。
Layout有orientation的属性。
Layout的能接受他的子类两种尺寸参数,一种是size hints,另一种是absolute sizes.都是定义x轴y轴或者一起设置的。如下:
1.size_hint_x
2.size_hint_y
3.size_hint (tuple of size_hint_x, size_hint_y) #对boxlayout没有作用
4.width
5.height
6.size (tuple of width, height) #对box layout没有作用
任何时候在设置heigth时一定要把size_hint_y设置成NONE,width和X也是一样。如果size_hint_x/y的值没有专门设置成NONE,所设置的absolute size都是没用的。