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信号处理后关闭对话框
        }
    }

}

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

           

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值