ダイアログ(ポップアップ)表示

2016/02/21

Python2.7.10, Kivy1.9.1

ダイアログ的な感じはPopupというウィジェットを使う。

# -*- coding: utf-8 -*-

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.popup import Popup
from kivy.lang import Builder

Builder.load_string("""
<MyApp>:
    AnchorLayout:
        anchor_x: 'center'
        anchor_y: 'center'
        Button:
            text: 'Open Popup'
            size: 300,100
            size_hint: None, None
            on_press: app.openPopup()

<MyPopup>:
    title: 'Popup test'
    size_hint: None, None
    size: 400, 400

    BoxLayout:
        orientation: 'vertical'
        Label:
            text: 'hello world'
            id: confirm_text
        Button:
            size_hint_y: None
            height: 60
            text: 'Close'
            on_press: root.dismiss()
""")

class MyPopup(Popup):
    pass

class MyApp(App, BoxLayout):

    def openPopup(self):
        popup = MyPopup()
        popup.open()

    def build(self):
        return self

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


タイトルに日本語を使うと文字化けする。なんでやー

Popup — Kivy 1.9.2-dev0 documentation
https://kivy.org/docs/api-kivy.uix.popup.html