ダイアログ

2014年9月7日

ファイル

07-dialog.tar.gz

内容

ダイアログを表示します。

ダイアログの作成は gtk.MessageDialog() で行います。run() でダイアログを表示します。

    dialog = gtk.MessageDialog(
            win,
            gtk.DIALOG_DESTROY_WITH_PARENT,
            gtk.MESSAGE_INFO,
            gtk.BUTTONS_OK,
            "Information")
    dialog.set_title("Information")
    dialog.run()
    dialog.destroy()

gtk.MessageDialog() の第 3 引数でダイアログのタイプを指定します。上では "情報" ダイアログとしています。第 4 引数ではボタンの種類を指定しています。上では OK ボタンが 1 つ表示されます。ダイアログのタイプには以下のものがあります。

  • gtk.MESSAGE_INFO: "情報" ダイアログ
  • gtk.MESSAGE_ERROR: "エラー" ダイアログ
  • gtk.MESSAGE_QUESTION: "質問" ダイアログ
  • gtk.MESSAGE_WARNING: "警告" ダイアログ

"質問" ダイアログなどで、YES/NO ボタンを指定するには、次のようにします。

    dialog = gtk.MessageDialog(
            win,
            gtk.DIALOG_DESTROY_WITH_PARENT,
            gtk.MESSAGE_QUESTION,
            gtk.BUTTONS_YES_NO,
            "Question")
    dialog.set_title("Question")
    r = dialog.run()

    if r == gtk.RESPONSE_YES:
        print("YES")
    else:
        print("NO")

    dialog.destroy()

run() の返り値でどちらが押されたかがわかります。

About ダイアログを作る関数も用意されています。

    dialog = gtk.AboutDialog()
    dialog.set_name("dialog")
    dialog.set_version("0.1")
    dialog.set_copyright("2014 (c) Yuu Kasuga")
    dialog.set_website("http://www.geocities.jp/penguinitis2002/")
    dialog.set_logo(p)

プログラムの情報を指定すると、それにもとづいて About ダイアログを作ってくれます。表示はいままでどおり run() で行います。

PyGTK プログラミング 目次へ