【失敗】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()
の順序を入れ換えるとダイアログが出なくなります。
エラーメッセージも出なかったので見つけりのに苦労した…
うぅぅぅぅ…