Python

python kivy layout pagelayout

2017年9月27日

ページレイアウト

今回はPage Layoutについて書いていきます。

使い勝手が良いのか疑問はありますが、スライドする事でページを切り分ける事ができます。

Page Layoutとは

簡単なページをスライドすることで切り替えることができます。

実装

main.pyというファイルで実装します。

''' page layout sample '''
from kivy.app import App
from kivy.uix.pagelayout import PageLayout
from kivy.uix.button import Button
from kivy.utils import get_color_from_hex


class SamplePageLayout(PageLayout):
    """
    SamplePageLayout here
        :param PageLayout:
    """

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

        btn1 = Button(text='btn 1')
        btn1.background_color = get_color_from_hex('#FF0000')

        btn2 = Button(text='btn 2')
        btn2.background_color = get_color_from_hex('#00FF00')

        btn3 = Button(text='btn 3')
        btn3.background_color = get_color_from_hex('#0000FF')

        self.add_widget(btn1)
        self.add_widget(btn2)
        self.add_widget(btn3)


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

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


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

コード説明

  • pagelayoutをインポートします
  • utilsのget_color_from_hexはrgbaの指定はメンドくさいからcssとか触ってた人はこっちの方が良いかもしれないです。
  • self.add.widgetでページを追加しています。

確認

どのような画面になったか確認します。

python3.6.2 kivy layout pagelayout

スライドして2枚目を表示。

python3.6.2 kivy layout pagelayout

スライドして3枚目を表示。

python3.6.2 kivy layout pagelayout

今回わかりやすい様に色付けしました。

色が変わってる部分をスライドすることによって、ページを切り替えるかたちです。

スライドショー的な感覚ですね。

まとめ

ページレイアウトを実装しました。

スライドする事でページを切り替える事ができます。

ドキュメントには、簡単なページをスライドさせると書かれていましたが、複雑なことはできないのかなと思います。

その辺は検証するしかないですね。

カスタムレイアウト
python kivyを使ったカスタムレイアウト
色々なレイアウトは触ってみたけど、Relative Layoutは当分書きません。 今回はカスタムレイアウトを作ってみようと思います。 これ使うと専用レイアウトとか共通化に出来るのではと思ったので記載します。 実装 main.pyというファ ...

続きを見る

-Python
-,