0
点赞
收藏
分享

微信扫一扫

QML实现退出主界面(软件)弹出对话框询问功能


直接上代码

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts


ApplicationWindow {
    id:window
    width: 1200
    height: 800
    visible: true
    title: qsTr("测试")

    property bool windowIsQuit: false
    DialogWidget{
        id:dialogQuit
        onAccept: {
            windowIsQuit = true
            window.close()
        }
    }

    onClosing: (closeevent)=>{
        if(!windowIsQuit){
            dialogQuit.show(DialogWidget.MessageType.Ask,qsTr("确认退出?"),qsTr("点击“确定”退出软件,点击“取消”取消退出!"))
            closeevent.accepted = false
        }
    }

}

这是对话框:

DialogWidget{
        id:dialogQuit
        onAccept: {
            windowIsQuit = true
            window.close()
        }
    }

退出时显示:

onClosing: (closeevent)=>{
        if(!windowIsQuit){
            dialogQuit.show(DialogWidget.MessageType.Ask,qsTr("确认退出?"),qsTr("点击“确定”退出软件,点击“取消”取消退出!"))
            closeevent.accepted = false
        }
    }

closeevent.accepted = false时取消退出,closeevent.accepted = true时退出软件。


举报

相关推荐

0 条评论