at backyard

Color my life with the chaos of trouble.

PySimpleGUIでポップアップの結果に応じて処理を変えたい時

PySimpleGUIを触っていると、popup関数を使うことは多いと思います。

この popup関数、様々なバリエーションが用意されており、例えばpopup_yes_noを使って下記のようなコードを書いてみることが可能です。

import PySimpleGUI as sg

pressed_text = sg.popup_yes_no("あなたはビールが好きですか?")

# ビールが好きな人にしかアプリを起動させない
if pressed_text == "Yes":
    start_app()

画面的には下記のようなポップアップが表示されます。

f:id:shinshin86:20211215161221p:plain

この場合のsg.popup_yes_no の挙動ですが、シンプルに押したボタンのテキストが返されます。

つまり上記のケースだと、YesNo が返ります。

またユーザがポップアップを選択肢以外の方法で閉じた場合、上の画像の場合、左上の赤ボタンを押したケースでは None が返ります。

https://pysimplegui.readthedocs.io/en/latest/#popup-output

今回はYes or No というポップアップでしたが、OK or cancel などバリエーションが用意されています。

詳細は上の公式ドキュメントを参照してみてください。