Qt 显示消息对话框

Qt 显示消息对话框,qt,qml,qtquick2,qt5.12,Qt,Qml,Qtquick2,Qt5.12,当用户点击QML窗口中的按钮时,是否可以显示QML对话框 示例: 当用户单击菜单栏上的帮助->关于时,应显示关于对话框: import QtQuick 2.12 import QtQuick.Layouts 1.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.12 import "components" ApplicationWindow { id: window visible: true width:

当用户点击QML窗口中的按钮时,是否可以显示QML对话框

示例

当用户单击菜单栏上的帮助->关于时,应显示关于对话框:

import QtQuick 2.12
import QtQuick.Layouts 1.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12

import "components"

ApplicationWindow {
    id: window
    visible: true
    width: 1040
    height: 480


    aboutDlg: aboutDialog {}  // does not work...

    menuBar: MenuBar {
        Menu {
            title: qsTr("Help")
            MenuItem {
                text: qsTr("About")
                onTriggered: aboutDlg.open();
        }
    }
    ...
组件/AboutDialog.qml

import QtQuick 2.2
import QtQuick.Dialogs 1.1

MessageDialog {
    id: aboutDialog
    title: "May I have your attention please"
    text: "It's so cool that you are using Qt Quick."
    onAccepted: {
        console.log("And of course you could only agree.")
        Qt.quit()
    }
}
当我删除行
boutDlg:aboutDialog{}//不工作时…
单击“关于”菜单项时会报告以下错误:

qrc:/main.qml:61:ReferenceError:aboutDlg未定义

我如何才能做到这一点?

您称之为“aboutDialog”,它是aboutDialog中的一个ID。 想象一下,你添加了一个对象,比如添加了一个矩形…它有自己的文件…你可以通过添加这样一个对象来“实例化”它:

...

ApplicationWindow {

...

    AboutDialog {
        id: aboutDlg
    }

...
}
你可以找到例子


您还可以进行一些优化,并将AboutDialog放在a中。

请添加一些解释。SOMore info is中不鼓励使用代码式答案。此外,我还建议从《美丽的书》开始学习QML。