Qt QML中如何处理mac集成的About MenuBar项?

How to handle the mac integrated About MenuBar item in Qt QML?

我在 Mac 下创建了一个 QML 应用程序,但我不知道单击“关于”菜单时会发生什么。

http://doc.qt.io/qt-5/qmenubar.html 中,我们在 OS X 上找到了关于 QMenuBar 的东西。但是对应的QML方法是什么?

目前我的代码是:

Menu {
    title: qsTr("&File")
    MenuItem {
        text: qsTr("&Open")
        onTriggered: messageDialog.show(qsTr("Open action triggered"))
    }
    MenuItem {
        text: "about.*"
        onTriggered: console.debug("FDF")
    }
    MenuItem {
        text: qsTr("E&xit")
        onTriggered: Qt.quit()
    }
}

我执行的时候,这个菜单只显示打开,而关于退出是正确集成到 mac 菜单中。退出没问题,但是当我点击about的时候,就正常退出了。

那么我们该如何处理呢?

我发现了问题。我的代码是这样的,

menuBar: MenuBar {

    Menu {
        title: qsTr("&File")
        MenuItem {
            text: qsTr("&Open")
            onTriggered: messageDialog.show(qsTr("Open action triggered"))
        }

        MenuItem {
            text: "about.*"
            onTriggered: console.debug("FDF")
        }

        MenuItem {
            text: qsTr("E&xit")
            onTriggered: Qt.quit()
        }
    }

    Menu {
        title: qsTr("&Help")
        MenuItem {
            text: qsTr("&Help")
            onTriggered: messageDialog.show(qsTr("Open action triggered"))
        }
        MenuItem {
            text: qsTr("&About")
            onTriggered: Qt.quit()
        }
    }
}

有两个about菜单项,后者覆盖前一个。

menuBar: MenuBar {

    Menu {
        title: qsTr("&File") // Name

        MenuItem {
            text: qsTr("&Open") // Name
            onTriggered: messageDialog.show(qsTr("Open action triggered")) // Action on Triggered
        }

        MenuItem {
            ...
        }
    }
}