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 {
...
}
}
}
我在 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 {
...
}
}
}