! 대화상자를 표시하고 사용자의 선택 반환 (: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.alert, print, print.out을 사용합니다