使用 QML 向 <appname> 菜单添加条目

Posted

技术标签:

【中文标题】使用 QML 向 <appname> 菜单添加条目【英文标题】:Add entry to <appname> menu using QML 【发布时间】:2016-10-21 12:41:32 【问题描述】:

我有一个使用 Qt/QML 作为其 GUI 的 C++ 应用程序。 我想使用 QML 在 OSX 菜单栏中添加一个带有应用程序名称的菜单条目。我已经设法在 C++ 中使用 QMenu、QActions 等做到了这一点,而且效果很好。但在这种情况下,在 QML 中执行此操作就足够且更简洁了。

到目前为止,我能找到的只是使用 MenuBar、Menu 和 MenuItem - 但这只会将新菜单添加到菜单栏。添加到现有的应用名称菜单似乎不起作用。

有什么想法吗?

【问题讨论】:

【参考方案1】:

这可以通过 Qt 5.8(尚未发布)中提供的新的实验性 Qt.labs.platform 模块实现:Qt.labs.platform's MenuBar

目前 Qt 5.8 仅在 Alpha 版本中可用,这意味着您必须自己从源代码编译它才能使用它,并且它被认为不稳定。

编辑:正如 DenverCoder21 提到的,这似乎无法更改应用程序菜单,只能添加其他菜单。

【讨论】:

听起来很有希望,但从你的链接我不能推断它是可行的。它在代码中会是什么样子,或者链接文档中暗示这种能力的部分是什么?应用程序名称菜单旁边的其他菜单已经可以通过当前实现实现。但不会向应用名称菜单添加条目。如果您能进一步解释一下,那就太好了。 Qt 5.8 测试版应该(希望)下周发布。

以上是关于使用 QML 向 <appname> 菜单添加条目的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SLRequest 通过 iOS 更改为通过 <AppName>

如何通过 Q_PROPERTY 向 QML 公开指向 Q_GADGET 的指针

python manage.py migrate --fake <appname> vs python manage.py migrate --fake <appname> 零

“无法下载应用程序。目前无法安装 <Appname>”

该应用在 Payload/<Appname>.app/<App name> 中引用了非公共选择器:生日

该应用在 Payload/<Appname>.app/<App name> 中引用了非公共选择器:FailWithError: , topMostAlert