ラベルを表示するだけではつまらないので、複数のウィジェットを表示してみましょう。新クラスとして適当な名でMyLayoutを作成しました。なおKivyでは、LabelやButtonなど以外にBoxLayoutなどの各種レイアウトや、ScreenManagerなどもウィジェットに含まれます。
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
class MyLayout(BoxLayout):
pass
class MemoApp(App):
pass
if __name__ == '__main__':
MemoApp().run()
1. BoxLayoutをインポートしています。
2. インポートした BoxLayoutを継承して MyLayoutクラスを作成し、今は何もしないので passとだけ記載します。MyLayout()の括弧に何も書かなかったり、Appなどと書いたりするとエラーになるので、何かのウィジェットを継承しないといけないみたいです。
MyLayout:
BoxLayout:
orientation: 'vertical'
BoxLayout:
orientation: 'horizontal'
size_hint_y: None
height: '48dp'
padding: '2dp'
canvas:
Color:
rgb: .9, .3, .3
Rectangle:
pos: self.pos
size: self.size
Button:
text: '<'
size_hint_x: None
width: self.height
TextInput:
id: text_box
font_size: '16sp'
multiline: False
hint_text: 'Input memo'
Button:
text: 'X'
size_hint_x: None
width: self.height
TextInput:
id: text_box_2
font_size: '16sp'
multiline: True
hint_text: 'note list'
BoxLayoutで各ウィジェットを配置しています。
第1の Boxlayoutは orientation: 'vertical'とされ、第2の BoxLayoutと 第2のTextInputを垂直に配置しています。第2の BoxLayoutでは Button、第1のTextInput、Buttonを水平に並べます。BoxLayoutは水平方向への配置がデフォルトなので、orientation: 'horizontal'の指定は書かなくても OKです。main.pyを実行すると、以下の画面が表示されます。
この画面は、すなわちメモ記入画面ですね!

第2の BoxLayoutの指定では height: '48dp'、padding: '2dp'となっています。つまり高さが 48dp、中身のウィジェットに対して上下左右に各 2dpの間隔があります。第2の BoxLayoutには Colorのrgb:0.9,0.3,0.3(緑)でCanvasが定義され、2dpの間隔から背景としての Canvasの色が見えることで縁取りされています。Colorの rgb値や paddingの値を変えて遊んでみてください。
Input Titleと表示された第1の TextInputは multiline: Trueなので一行しか記入できませんが、第2のTextInputは multiline: Trueなので複数行を記入することができます。二つの Buttonは押すと色が変わりますが、まだ何も起こりません。