
まくまく
PythonのGUIアプリ作成ライブラリ kivyで作成したラベルの表示比率(大きさ)を変更してみようと思います。
まずはpyファイルとkvファイルから。
サンプルプログラム
pyファイル
#ライブラリのインポート
from kivy.app import App
from kivy.config import Config
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty
from kivy.lang import Builder
#ウインドウの幅と高さの設定
Config.set('graphics', 'width', 700)
Config.set('graphics', 'height', 400)
#1でサイズ変更可、0はサイズ変更不可
Config.set('graphics', 'resizable', 1)
#kvファイルの読み込み
Builder.load_file("size.kv")
class MyLayout(Widget):
pass
class DispimageApp(App):
def build(self):
self.title = "window"
return MyLayout()
if __name__ == '__main__':
DispimageApp().run()
kvファイル
#ファイル名: size.kv
<MyLayout>
canvas.before:
Color:
rgba: 57/255, 147/255, 221/255, 1
Rectangle:
pos: self.pos
size: self.size
BoxLayout:
orientation: "vertical"
size: root.width, root.height
padding: 20
spacing: 20
Label:
id: name_label1
text: "Python"
font_size: 32
pos_hint: {"center_x": 0.5}
size_hint_y: 1
TextInput:
id: input
multiline: False
size_hint_y: 1
Label:
id: name_label3
text: "Kivy"
font_size: 32
pos_hint: {"center_x": 0.5}
size_hint_y: 1
出力
上のプログラムを実行すると、Kivyでウインドウを作成され、そこに以下のウィジェットが表示されます。
上段:ラベル(Python)
中段:テキストインプット
下段:ラベル (Kivy)
それぞれのウィジェットが均等に配置されている状態です。
size_hint_yを変更
kvファイル33行目の「size_hint_y」を1から2へ変更します。
size_hint_y: 2
y軸方向の比率が先ほどと変わったのが分かると思います。「kivy」と書かれたラベルがウインドウの半分を占めています。残りの半分のエリアに他の2つのウィジェットが配置されています。
この時のsize_hint_yは、
ラベル(Python): 1
テキストインプット: 1
ラベル(Kivy): 2
です。
この比率でウィジェットが配置されます。
X軸、Y軸両方のsize_hintを変更
kvファイル26行目の「size_hint_y」を変更します。
size_hint: (0.5, 1)
「size_hint: (0.5, 1)」のように記載することで、X軸、Y軸の両方の比率を設定することができます。
テキストインプットのX軸方向が半分になりました。
kivy関連の記事はこちらにまとめています。>>>Python kivy 使い方まとめ