当前位置: 首页 > article >正文

qml Dialog详解

1、概述

Dialog是QML(Qt Modeling Language)中用于显示对话框的组件,它提供了一个模态窗口,通常用于与用户进行重要交互,如确认操作、输入信息或显示警告等。Dialog组件具有灵活的布局和样式选项,可以轻松地集成到QML应用程序中,并提供了一致的用户体验。

2、重要属性
  • title : string - 对话框的标题。
  • visible : bool - 控制对话框的可见性。
  • standardButtons : StandardButtons - 设置对话框中显示的标准按钮。
  • contentItem : Item - 对话框的内容项,可以包含自定义的QML组件和布局。
  • clickedButton:StandardButton - 表示用户在对话框中点击的按钮。

3、重要方法
  • void open() - 打开对话框。
  • void close() - 关闭对话框。

4、重要信号
  • accepted() - 用户接受对话框内容或点击“确定”/“是”按钮。
  • actionChosen(action) - 用户从对话框中的多个选项中选择一个动作。
  • apply() - 用户点击“应用”按钮,通常用于立即应用更改而不关闭对话框。
  • discard() - 用户点击“丢弃”或“取消更改”按钮,忽略所做的更改。
  • help() - 用户请求帮助,通常通过点击“帮助”按钮。
  • no() - 用户点击表示否定的按钮,如“否”。
  • rejected() - 用户拒绝对话框内容或点击“取消”按钮。
  • reset() - 用户点击“重置”按钮,将设置重置为默认值。
  • yes() - 用户点击表示肯定的按钮,如“是”。
ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("Dialog Example")

    Button {
        text: "Open Dialog"
        anchors.centerIn: parent
        onClicked: dialog.open()
    }


    Dialog {
        id: dialog
        title: "Confirmation Dialog"
        standardButtons: Dialog.Ok | Dialog.Cancel

        contentItem: Rectangle {
            color: "lightskyblue"
            implicitWidth: 400
            implicitHeight: 100
            Text {
                text: "Are you sure you want to proceed?"
                color: "navy"
                anchors.centerIn: parent
            }
        }

        onAccepted: {
            console.log("Dialog accepted");
            dialog.close(); // 可选:在accept信号处理后关闭对话框
        }

        onRejected: {
            console.log("Dialog rejected");
            dialog.close(); // 可选:在reject信号处理后关闭对话框
        }
    }

}

觉得有帮助的话,打赏一下呗。。

           

需要商务合作(定制程序)的欢迎私信!! 


http://www.kler.cn/a/517323.html

相关文章:

  • 编译安装PaddleClas@openKylin(失败,安装好后报错缺scikit-learn)
  • 【MySQL】我在广州学Mysql 系列——MySQL用户管理详解
  • 嵌入式MCU面试笔记2
  • 【QT】-explicit关键字
  • 使用 .NET Core 6.0 Web API 上传单个和多个文件
  • Ceisum无人机巡检直播视频投射
  • 达梦拷贝DM_HOME的复制安装
  • Python Numpy 数组的条件筛选
  • ubuntu 把安装好的 wine软件 打包 到另外一台机器
  • R语言学习笔记之高效数据操作
  • 第17篇:python进阶:详解数据分析与处理
  • SpringCloud之服务间通信超时:突破微服务的“时间枷锁”
  • 如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
  • 基于微信阅读网站小程序的设计与实现(LW+源码+讲解)
  • HarmonyOS基于ArkTS卡片服务
  • # AI绘图中的Embedding、CLIP、Flux中的Clip与LCM SDXL加速生成解析
  • Vue 2 + Element UI 实现密码显示、隐藏切换功能
  • rust学习-宏的定义与使用
  • flutter入门系列教程<三>:tabbar的高度自适用,支持无限滚动
  • UDP/TCP ⑤-KCP || QUIC || 应用场景
  • 【2024年华为OD机试】 (C卷,100分)- 考勤信息(JavaScriptJava PythonC/C++)
  • 【leetcode100】二叉树的右视图
  • 职责链模式
  • MES系统和ERP系统有什么区别?
  • Web 渗透测试工具 - SpideyX
  • Mac 上管理本地 Go 版本