Kivyのラベルの基本的な使いかた

2019年12月30日

みなさまおはこんばんにちは、せなです

今回はKivyのUXウィジェットである、ラベルの基本的な使いかたについて説明したいと思います

ラベルの基本構文

ラベルは「from kivy.uix.label import Label」で使用できます
主にウィジェットへ文字列を描画したいときに使用します

Pythonへの直書きであれば以下のように記述します

root = BoxLayout()
label = Label(text='Hello World')
root.add_widget(label)

Kv Languageを使う場合は以下のように記述します

Label:
    text: 'Hello World'

ラベルに使用するキーワード引数

よく使いそうなものを一部抜粋
※以下はKv Languageを使った場合の書き方で説明しています

文字の大きさ

文字の大きさを変更する時には「font_size」を使用する
サイズはピクセル単位で計算される

Label:
    text: 'Hello World'
    font_size: '100'

文字の色

文字の色を変更する時には「color」を使用する
色は(r, g, b, a)で設定する

Label:
    text: 'Hello World'
    color: (1,0,0,1)  # red

文字を太字にする

太字にしたい時には「bold」を使用する
boldは初期状態では「False」が設定されているので、「True」に変更することで太字にできる

Label:
    text: 'Hello World'
    bold: True

文字を斜体にする

斜体にしたい時には「italic」を使用する
italicは初期状態では「False」が設定されているので、「True」に変更することで斜体にできる

Label:
    text: 'Hello World'
    italic: True

文字位置を横に揃える

文字の位置を横に揃えたい時には「halign」を使用します
ラベルの位置ではなく文字の位置を変更します)

halignは初期状態では「left」が設定されています
他には「center・right・justify」を使用できます

Label:
    text: 'Hello World'
    halign: 'center'

ラベルの大きさ

ラベルそのものの大きさを変更したい時には「text_size」を使用する
デフォルトでサイズは(None, None)に設定されているので制限が掛かっていません

Label:
    text: 'Hello World'
    text_size: (50, 50)

タグを使ったラベル文字列の変更

[b][/b][i][/i]などのタグを使って文字列に変更を加えたい時には、「markup=True」にする

Label:
    markup: True
    text: '[b]Hello[/b] [s]World[/s]'

[]と&を表示させたい時には、「'[' = &bl;」「']' = &br;」「'&' = &amp」に変換して使用する

日本語への対応

以下の記事で説明していますので、参考にしてください

リンク:Kivyでラベルのテキストに日本語を表示させる方法