第二章:QML基础组件之消息对话框MessageDialog

对话框MessageDialog

官方介绍: https://doc.qt.io/qt-5/qml-qtquick-dialogs-messagedialog.html

效果:

源码:

实现方式一:

import QtQuick 2.7
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.3
import QtQuick.Dialogs 1.2

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    color: "black";
    title: "消息对话框";
    id: root;
    menuBar: MenuBar{
        Menu {
            title: "帮助";
            MenuItem{
                text: "关于";
                onTriggered: root.showAbout();
            }
        }
    }
    function showAbout(){
        if(aboutDlg == null){
            aboutDlg = Qt.createQmlObject(
                        'import QtQuick 2.2;
                        import QtQuick.Dialogs 1.1;
                        MessageDialog{
                            icon: StandardIcon.Information;
                            title: "关于";\n
                            text: "仅仅是个示例";\n
                            standardButtons:StandardButton.Ok;
                        }',
                        root, "aboutDlg");
            aboutDlg.accepted.connect(onAboutDlgClosed);
            aboutDlg.rejected.connect(onAboutDlgClosed);
            aboutDlg.visible = true;
        }
    }
    function onAboutDlgClosed(){
        aboutDlg.destroy();
        aboutDlg = null;
    }
}

实现方式二:

    MessageDialog {
        id: messageDialog
        title: qsTr("May I have your attention, please?")

        function show(caption) {
            messageDialog.text = caption;
            messageDialog.open();
        }
    }
    
    调用:  messageDialog.show(errorInfoString)

猜你喜欢

转载自blog.csdn.net/qq_40602000/article/details/109276904