【失敗】QPythonのGUIアプリ開発/条件分け
QPythonのandroidhelperを使い、ダイアログの入力値によって条件分けをし、様々に連結して使えないかと試行錯誤していますが、上手くいきません。
たとえばこんなことがやりたい
- メインメニューを出す
- メインメニュー1
- サブメニュー1.1
- サブメニュー1.2
- メインメニュー2
- サブメニュー2.1
- サブメニュー2.2
- サブメニュー2.3
- メインメニュー1
最初のメインメニューをdialogSetItemsで作りました。
そしてその選択によって、if文以降に条件で動作を分けて行けると思いました。しかし、最初に出したメニュー項目を選択しOKまたはキャンセルを押すと、プログラム自体が終了してしまう。
その後の処理に続いていきません。
下記、途中までのコピー。
これでもifの前まで動きはします。
#-*-coding:utf8;-*- # """ This is a quiet script, which runs background """ import androidhelper droid = androidhelper.Android() droid.makeToast("quietモード中!") droid.dialogCreateAlert("メニュー") menu = ["メニュー1", "メニュー2", "メニュー3"] droid.dialogSetItems(menu) droid.dialogShow() response = droid.dialogGetResponse() print("response : ",response) droid.makeToast(menu[response.result["item"]]) droid.dialogDismiss() if response.result["item"]=="0": droid.dialogCreateInput("文字を入力して下さい。") droid.dialogSetPositiveButtonText("ok") droid.dialogSetNegativeButtonText("cancel") droid.dialogShow() text = droid.dialogGetResponse() droid.dialogDismiss()
ifで条件分けしているところのdroid.dialogCreateInput("文字を入力して下さい。")以降を無理やりifの上の文に連続して書けば、続いてダイアログが立ち上がりはしますが、それだと条件分けが出来ない。
関数化しても同じでした。最初のダイアログが閉じたらプログラム全体が終了する。
うううぅぅぅ…
話はそれますが、上のコードの
droid.dialogShow() text = droid.dialogGetResponse()
の順序を入れ換えるとダイアログが出なくなります。
エラーメッセージも出なかったので見つけりのに苦労した…
うぅぅぅぅ…