Qt Qml自定义模态对话框

自带的messagedialog不好使,自定义一个,简单的:

DialogPop.qml

/**
 * @brief 功能:此文件实现了模态框
 * @author lanmanck
 * @date 2023-07-25
 * CopyRight (C) lanmanck
 */
import QtQuick 2.1
import QtQuick.Window 2.0
import QtQuick.Layouts 1.0
import QtQuick.Controls 1.0
import QtQuick.Controls.Styles 1.0
import QtQuick.Dialogs 1.3

Window{
    id:dialog
    visible: false
    flags: Qt.Dialog
    modality: Qt.WindowModal
    property alias text: content.text
    signal accepted()
    signal rejected()

    title: qsTr("提示")
    width:content.implicitWidth+80

    Text {
        id:content
        anchors.centerIn: parent
        font.pointSize: 10
        lineHeight: 1.5
        wrapMode: Text.WordWrap
        Layout.minimumWidth: 300
    }

    Row{
        spacing: 10
        anchors.bottom: parent.bottom
        anchors.right: parent.right
        anchors.bottomMargin: 10
        anchors.rightMargin: 10
        Button {
            text: qsTr("确定")
            onClicked: {
                accepted()
                close()
            }
        }
        Button {
            text: qsTr("取消")
            onClicked: {
                rejected()
                close()
            }
        }

    }
}

好人做到底,使用:

    // 定义    
    DialogPop{
        id:dialogPop
        onAccepted: {
            var map = dataSource.setCurrentTime();

            if(map === false)
                toast.show("操作失败")
        }
    }

    // 调用
    MultiButton {
        id: setTime
        text: "时间: "
        items: ["ALL"]
        enabled: true
        currentSelection: 0
        onSelectionChanged:{
            dialogPop.text = "确定要同步时间吗?"
            dialogPop.show()
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值