メインコンテンツまでスキップ

! ダイアログを表示してユーザーの選択を返す (:show)

宣言

送信の有無, オプション関連テーブル = ダイアログオブジェクト:show()

戻り値

  • 送信の有無
    ブール型。送信ボタンが押されたかどうかを返します。タイムアウトした場合、または右上の × をクリックした場合は false を返します
  • オプション関連テーブル
    テーブル型。オプションラベルをキーとするキーバリューテーブルを返します

説明

ダイアログを表示し、ユーザーの選択結果を返します
ダイアログに設定保存 (:set_config(設定名)) が設定されている場合、送信 を押すと設定が保存されます。右上の × を押した場合やタイムアウトした場合は保存されません

簡単な例

local c, s = dialog():add_switch('一个开关', false):show()
sys.alert(s["一个开关"])

注記:上記のコードでは、この章で扱っていない関数 sys.alert を使用しています

複雑な例

local dlg = dialog() -- dialog オブジェクトを作成
--
-- 以下はこの dialog オブジェクトの設定
dlg:set_config('test') -- 設定保存ID
dlg:set_timeout(30)
dlg:add_label('简易的效果展示')
dlg:add_range('血量', {0, 1000, 1}, 300)
dlg:add_input('账号', 'ccc')
dlg:add_input('密码', 'aaaa')
dlg:add_picker('性别', {'男', '女', '未知'}, '男')
dlg:add_switch('启用通知', false)
dlg:add_checkbox('喜欢的游戏', {'守望先锋', '魔兽世界', '炉石传说'}, {'守望先锋', '魔兽世界'})
dlg:add_radio('最喜欢的游戏', {'守望先锋', '魔兽世界', '炉石传说'}, '魔兽世界')
--
local confirm, selects = dlg:show() -- dialog オブジェクトを前面に表示し、その戻り値を取得
--
if (confirm) then
print("你按下了提交")
else
print("你没有按下提交")
end
--
print("账号", selects["账号"])
print("密码", selects["密码"])
print("性别", selects["性别"])
print("血量", selects["血量"])
--
if (selects['启用通知']) then
print("已启用通知")
else
print("未启用通知")
end
--
print("你喜欢游戏列表")
for _,gamename in ipairs(selects['喜欢的游戏']) do
print(gamename)
end
--
print("你最喜欢游戏:"..selects["最喜欢的游戏"])
--
sys.alert(print.out())

注記:上記のコードでは、この章で扱っていない関数 sys.alertprintprint.out を使用しています