Python

python kivy layout gridlayout

2017年9月26日

グリッドレイアウト

kivyのグリッドレイアウトについて書いていきます。

Grid Layout

グリッドレイアウトとは名前の通りなんですが、セル単位を指定できます。

htmlで言うとtableとかofficeだとエクセルとかの表示されている枠になります。

枠線を使ったレイアウトの指定をすることができます。

実装

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

ソースコード

''' grid layout sample '''
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button


class SampleGridLayout(GridLayout):
    """
    SampleGridLayout here
        :param GridLayout:
    """

    def __init__(self):
        super(SampleGridLayout, self).__init__()

        self.cols = 3
        self.rows = 3

        btn1 = Button(text='1')
        btn2 = Button(text='2')
        btn3 = Button(text='3')
        btn4 = Button(text='4')
        btn5 = Button(text='5')
        btn6 = Button(text='6')
        btn7 = Button(text='7')
        btn8 = Button(text='8')
        btn9 = Button(text='9')

        self.add_widget(btn1)
        self.add_widget(btn2)
        self.add_widget(btn3)
        self.add_widget(btn4)
        self.add_widget(btn5)
        self.add_widget(btn6)
        self.add_widget(btn7)
        self.add_widget(btn8)
        self.add_widget(btn9)


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

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


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

コード説明

  • gridlayoutをインポートします。
  • colsで行数を指定しています。
  • rowsで列数を指定しています。

今回は、3x3のレイアウト表示しており、実装の仕方については、boxlayoutと同じ実装になります。

特殊なことは行なっておらず、1から9までのボタンをついかしています。

確認

イメージは沸いていると思いますが、キャプチャを添付します。

python3.6.2 kivy layout gridlayout

まとめ

グリッドレイアウトは、その名の通りグリッドで表示するレイアウトです。

今回はボタンで行いましたが、画像でボタンとかにするとアプリっぽくなっていいと思います。

Boxレイアウト
python kivy layout boxlayout
前回レイアウトの種類の説明をしましたが、今回から実装していきます。 細かい内容は、省いて行きます! 理由としては、動きや見えた方が良いかなと思い実装します。 Box Layout 簡単に説明すると、Box Layoutは水平・垂直に分割でき ...

続きを見る

-Python
-,