xbot.app.dialog

概述

dialog接口主要是处理对话框的,如消息对话框,自定义对话框,数据表格对话框等

详情

show_alert

打开消息对话框

show_alert(message, title='提示')

参数

  • message:需要在消息对话框中展示的内容

  • title:消息对话框标题,默认为提示

返回值

示例1

打开消息对话框,对话框标题为 提示 消息对话框内容为 helloword

from xbot import app

def main(args):
    app.dialog.show_alert('helloword', '提示')

show_confirm

打开确认对话框

show_confirm(message, title='请确认')

参数

  • message:需要在确认对话框中展示的内容

  • title:确认对话框标题,默认为请确认

返回值

  • bool:返回确认对话框处理结果, 确认返回True,否则返回False

示例1

打开确认对话框,对话框内容为 helloword

from xbot import app

def main(args):
    is_confirm = app.dialog.show_confirm('helloword')

show_custom_dialog

打开自定义对话框

show_custom_dialog(settings)

参数

  • settings:自定义对话框配置json串, json主要包含对话框标题和自定义控件配置, json结构如下:
        {
            "dialog_title": "标题",
            "default_btn": "确定",
            "timeout":10,
            "settings":
            {
                "editors":[...]
            }
        }
  • "dialog_title":对话框标题,可为空
  • "default_btn":启用超时自动点击时默认点击的按钮
    • 确定
    • 取消
  • "timeout":启用超时自动点击超时时间
    • 等于 0:不等待
    • 大于 0:等待超时时间
    • 等于 -1:一直等待
  • "editors":具体的自定义控件的json配置串, 可为一个也可为多个, 目前支持的自定义控件类型有如下:
    • TextBox:输入框
    • Password:密码框
    • TextArea:文本域(多行输入框)
    • CheckBox:复选框
    • Select:下拉框
    • Date:日期控件
    • File:文件选择器
  • 自定义控件的常规配置节点有:
    • type:自定义控件类型,必须是上面列出的类型中的一种
    • label:自定义控件标题,可根据具体场景随意设置
    • nullText:空白提示信息,当控件没有默认值时显示的提示信息, 主要用于 输入框, 密码框, 文本域 等输入类控件,可为空
    • value:程序运行时控件中的默认值,可根据具体情况设置,可为空
  • 下拉框控件中的特殊节点有:
    • isTextEditable:下拉框是否支持编辑, 是个 bool 类型值, 默认为 False 不可编辑
    • value:下拉框首次打开时默认选中的选项, 可为空, 不为空时其值必须是 options 集合中的某一项的 value 的值
    • options:下拉框的选项集合
    • display:下拉框选项选中时界面显示的值
    • value:下拉框选项选中时返回的结果值
  • 文件选择器的特殊节点有:
    • kind:文件选择器的具体功能, 选项如下:
    • OpenFile:选择文件
    • SaveFile:保存文件
    • SelectFolder:保存文件夹

返回值

  • object:返回自定义对话框处理结果

示例1

打开自定义对话框展示 输入框 等待10s等待用户操作如果超过该时间用户还未操作则按确定默认处理

from xbot import app

def main(args):
    value = app.dialog.show_custom_dialog({"dialog_title": "hello", 
                                           "default": "确定",
                                           "timeout": 10,
                                           "settings": 
                                           {
                                               "editors": [
                                                {
                                                    "type": "TextBox", 
                                                    "label": "输入框", 
                                                    "nullText": None, 
                                                    "value": "hello world"
                                                }]
                                            }
                                          })

示例2

打开自定义对话框展示复选框

from xbot import app

def main(args):
    value = app.dialog.show_custom_dialog({"dialog_title":"hello",
                                        "settings":{
                                            "editors":[
                                                {
                                                    "type":"CheckBox",
                                                    "label":"复选框",
                                                    "value":True
                                                }
                                            ]
                                        }
                                       })

示例3

打开自定义对话框展示下拉框,并默认选中 你好呀 的项

from xbot import app

def main(args):
    value = xbot.app.dialog.show_custom_dialog({"dialog_title":"hello",
                                        "settings":{
                                            "editors":[
                                                {
                                                    "type":"Select",
                                                    "label":"下拉选择框",
                                                    "value":"1",
                                                    "options":[
                                                        {
                                                            "display":"选项1",
                                                            "value":"1"
                                                        },
                                                        {
                                                            "display":"选项2",
                                                            "value":"2"
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                       })

示例4

同时展示 密码框 ,文本域 ,时间选择器 ,文件选择器

from xbot import app

def main(args):
    value = app.dialog.show_custom_dialog({"dialog_title":"hello",
                                        "settings":{
                                            "editors":[
                                                {
                                                    "type":"Password",
                                                    "label":"密码框",
                                                    "nullText":None,
                                                    "value":"123"
                                                },
                                                {
                                                    "type":"TextArea",
                                                    "label":"文本域",
                                                    "nullText":"hello world",
                                                    "value":None                                                    
                                                },
                                                {
                                                    "type":"Date",
                                                    "label":"时间",
                                                    "value":"2020/04/18",
                                                },
                                                {
                                                    "type":"File",
                                                    "label":"文件选择器",
                                                    "nullText":"请选择文件",
                                                    "kind":"OpenFile"
                                                }
                                            ]
                                        }
                                       })

show_message_box

打开消息对话框

show_message_box(title, message, button='ok', * , timeout=-1, default_button=None)

参数

  • title:消息对话框标题
  • message:消息对话框要展示的信息
  • dialog_result:消息对话框中的按钮,如:
    • 'ok':确定
    • 'okcancel:确定/取消
    • 'yesno':是/否
    • yesnocancel:是/否/取消
  • time_out:对话框等待点击超时时间,超过该时间还没点击则以默认按钮进行自动点击
    • 等于 -1:一直等待
    • 等于 0:不等待
    • 大于 0:等待超时
  • default_result:超时时默认点击的按钮, 仅在超时时间大于0时起效, 如果默认设置了默认超时时间但但未设置默认按钮的话则以第一个按钮为默认按钮

返回值

  • str:返回消息对话框处理结果,如:ok 或 cancel 等

示例1

打开标题为 hello 信息为 helloworld 的消息对话框,按钮是 确定/取消 等待 10s 用户为处理则默认以 确定 处理

from xbot import app

def main(args):
    result = app.dialog.show_message_box('hello', 'helloworld','okcancel', timeout=10, 
                                  default_button='ok')

show_workbook_dialog

打开数据表格对话框

show_workbook_dialog(title, message)

参数

  • settings:自定义对话框配置json串

返回值

  • str:返回数据表格对话框处理结果,如:ok 或 cancel 等

示例1

打开标题为 hello 提示信息为 helloworld 的数据表格对话框

from xbot import app

def main(args):
    result = app.dialog.show_workbook_dialog('hello', 'helloworld')

Show_notifycation

打开消息通知框

show_notifycation(message, * , placement='rightbottom', level='info', timeout=3)

参数

  • message:消息通知框的通知内容
  • placement:通知消息在屏幕上的显示位置,默认在屏幕右下角显示
    • 'top':在屏幕顶部显示
    • 'bottom':在屏幕底部显示
    • 'rightbottom':在屏幕右下角显示
  • level:通知消息的消息级别,默认为信息级别
    • 'info':信息
    • 'warning':警告
    • 'error':错误
  • timeout:通知消息框显示时长,默认显示3秒

返回值

示例1

打开标题为 hello 提示信息为 helloworld 的数据表格对话框

from xbot import app
def main(args):
    result = app.dialog.show_notifycation('hello')
问题没有解决?去社区提问 all right reserved,powered by Gitbook

results matching ""

    No results matching ""