Python

python kivy layout boxlayout

2017年9月25日

Boxレイアウト

前回レイアウトの種類の説明をしましたが、今回から実装していきます。

細かい内容は、省いて行きます!

理由としては、動きや見えた方が良いかなと思い実装します。

Box Layout

簡単に説明すると、Box Layoutは水平・垂直に分割できる。

main.pyファイルを作成し実装していきます。

実装

ラベルの説明とかは省きます。

ラベル表示
python kivyでラベル表示
Relative Layout以外のレイアウトについては書いてきたので、ラベルやボタンについて書いていきます。今回はラベルについて書きます。 実装 実装するために、main.pyというファイルを作成します。 ソースコード '' ...

続きを見る

''' boxlayout sample '''
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label


class BoxLayoutSample(BoxLayout):
    """
    BoxLayoutSample here
        :param BoxLayout:
    """

    def __init__(self):
        """
        __init__ here
            :param self:
        """
        super(BoxLayoutSample, self).__init__()

        label = Label(text='boxlayout sample')

        self.orientation = 'vertical'
        self.add_widget(label)

        box_layout2 = BoxLayout()
        box_layout2.orientation = 'horizontal'

        label2 = Label(text='boxlayout2 sample1')
        label3 = Label(text='boxlayout2 sample2')

        box_layout2.add_widget(label2)
        box_layout2.add_widget(label3)

        box_layout3 = BoxLayout()
        box_layout3.orientation = 'vertical'

        label4 = Label(text='boxlayout4 sample1')
        label5 = Label(text='boxlayout5 sample2')

        box_layout3.add_widget(label4)
        box_layout3.add_widget(label5)

        self.add_widget(box_layout2)
        self.add_widget(box_layout3)


class MyApp(App):
    """
    MyApp here
        :param App:
    """

    def build(self):
        """
        build here
            :param self:
        """
        return BoxLayoutSample()


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

コード説明

  • boxlayoutをインポートする
  • orientationで水平(horizontal)なのか垂直(vertical)なのかを指定する
  • orientationのデフォルトはhorizontal

今回BoxLayoutを継承してるけど、別に継承する必要は無い。

確認

水平と垂直にラベル表示されているのが確認できました。

python3.6.2 kivy layout boxlayout

まとめ

BoxLayoutを利用して、水平にラベル表示させたり、垂直にラベルを表示しています。

コードの内容自体は、pythonを理解していれば簡単な内容になっています。

BoxLayout以外にもレイアウトがあるので、試してみてください。

グリッドレイアウト
python kivy layout gridlayout
kivyのグリッドレイアウトについて書いていきます。 Grid Layout グリッドレイアウトとは名前の通りなんですが、セル単位を指定できます。 htmlで言うとtableとかofficeだとエクセルとかの表示されている枠になります。 枠 ...

続きを見る

-Python
-,