在 Qt 中自定义 AppMenu

2024-02-26

我正在为 MacOS 开发 Qt 应用程序。

如何向 menuApp 添加项目?我的意思是出现在苹果图标右侧菜单栏上的条目

我想知道如何在 Qt 中实现这一点,而不是 Objective-C

我正在使用 Qt 5.9。这是QWidget应用程序

编辑:这是macos问题,如果你不知道menuApp是什么,可能你无法回答这个问题。这是Apple在每个应用程序中默认放置的菜单。在所附图像中,它对应于“Finder”菜单项

提前致谢


根据菜单角色的 QT 文档 https://doc.qt.io/qt-5/qaction.html#menuRole-prop,简短的答案是:设置menuRoleQMenu 项目的QAction文档中列出的预定义角色,或常规角色QAction::TextHeuristicRole。有些角色是根据菜单文本自动分配的,但除此之外,您必须自己完成。

您可以通过编程方式执行此操作,也可以使用 ui 编辑器执行此操作。以下是 QT Creator 中 ui 编辑器中的一些图像,正在编辑我的 mainwindow.ui 文件。我有一些通用的“常规”QMenu,它并不可见,在其下 QAction 元素是About它会自动提取并放在 menuApp 下,因为其名称与预定义的角色匹配。对于与预定义角色不匹配的“检查更新”QAction,我已手动设置其属性menuRole to ApplicationSpecificRole这样它也放在 menuApp 下:

mainwindow.ui 菜单栏显示 QT Creator 中的条目 https://i.stack.imgur.com/yQTMw.png

QT Creator 中的 mainwindow.ui 菜单角色选择 https://i.stack.imgur.com/GISTO.png

生成的应用程序菜单,其中关于菜单是自动归因的,并且检查更新是手动配置的 https://i.stack.imgur.com/6tLAn.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Qt 中自定义 AppMenu 的相关文章

  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • 如何在 OSX 上安装 LaTeX .sty 文件?

    我设置了一个 LaTeX 项目 tex documents some file tex support todonotes sty where some file tex uses todonotes usepackage colorinl
  • 通过单击内部小部件而不是标题栏来移动窗口

    在 Windows 中 当我创建 QMainWindow 时 我可以通过单击标题栏并拖动它来在屏幕上移动它 在我的应用程序中 我使用隐藏了标题栏setWindowFlags Qt CustomizeWindowHint 我正在尝试使用小部件
  • 为什么 QT 设计器重新调整大小或不允许我缩小或展开小部件或按钮?

    很多时候 在使用 QT 设计器时 我发现自己需要通过缩小或扩展来调整事物的大小 每当我尝试这样做时 程序都不允许我这样做 而只是恢复到将对象放置在窗口中时给我的原始默认大小 无论我的布局如何 为什么要这样做 是否有可能改变这一点 以便我可以
  • 如何向 PyQt5 GUI 添加线程?

    所以我使用 QT Designer 创建了一个 GUI 它工作得很好 但在更复杂的调用中 它不会更新主窗口并锁定 我想运行我的CustomComplexFunction 在根据不断变化的后端信息更新主窗口中的文本编辑时 我希望它每 2 秒运
  • 为什么有时 npm install 在 mac 上不起作用?

    我在运行命令时创建了nodejs项目npm 安装它因一些错误而失败 同一个项目正在进行中ubuntu系统但是当我克隆这个代码时mac系统并尝试运行 npm install 它失败并出现一些错误 我认为 scrypt 模块有问题 但我不知道确
  • 如何将 QFile 与 std::iostream 一起使用?

    是否可以像 std iostream 一样使用 QFile 我很确定那里一定有一个包装纸 问题是在哪里 我有另一个库 它需要 std istream 作为输入参数 但在我的程序中 此时我只有一个 QFile 我使用以下代码提出了自己的解决方
  • 更改 macOS 应用程序中打开窗口中的文档

    我正在为 macOS 编写一个基于文档的应用程序 我正在尝试编写一项功能来更改当前窗口中的活动文档 以便能够循环浏览文件夹中的下一个 上一个文档 就像使用图像浏览器应用程序一样 我应该调用什么命令来在当前窗口中打开不同的文档 文档表明 op
  • 使用 QGraphicsScene 和 QGraphicsView 在 Qt 中开始基于 Tile 的游戏

    我将开始在 Qt 中编写基于 2D 图块的游戏 并阅读 QGraphicsScene 和 QGraphicsView 类 这些类旨在显示和处理大量 2D 对象 我的问题是 使用 QGraphicsScene 创建一个包含大量图块的世界是否可
  • Mac OS X Yosemite 中的 Node.js dtrace 错误

    我在 Mac OS X 10 10 Yosemite 上尝试使用 DTrace Node js 应用程序 sudo dtrace n profile 97 execname node arg1 jstack 150 8000 count t
  • 在 mac (iMac OSX ) 终端中远程运行脚本(r 脚本)到其他计算机

    我有一个小示例脚本 script p r 如下所示 打算在终端中运行 usr bin Rscript sink output capture txt mn lt mean 1 10 and so on much longer list of
  • CMake AUTOMOC,文件位于不同文件夹中

    我有一个简单的 CMake 项目 proj project folder a h a cpp CMakeLists txt CMakeLists txt cmake minimum required VERSION 3 2 set CMAK
  • Qt - 如何使用 QNetworkAccessmanager 获取响应文本

    这是我的代码 Widget Widget manager new QNetworkAccessManager this connect manager SIGNAL finished QNetworkReply this SLOT repl
  • Docker 容器与主机网络的网络性能非常慢

    我遇到了 Docker 容器和主机网络之间网络性能缓慢的问题 我在 Docker 论坛上提出了这个问题 但到目前为止还没有收到答案 Problem 设置 同一本地网络上的两台 Mac 第一个运行 MQTT 代理 mosquitto 第二个运
  • 如何为 Windows 安装开源 Qt 库 5 二进制版本

    这个问题具体是关于Qt libraries 5 0 0 for Windows VS 2010 406 MB at http qt project org downloads http qt project org downloads 但我
  • 使用 QWT 构建时出错

    我收到一个错误 undefined reference to QwtPlot QwtPlot QWidget 当我尝试构建我的项目时 即使设置中一切看起来都很好 在我的 CmakeLists txt 中我有 include director
  • GWT MenuItem 选择后失去焦点

    我有一个简单的垂直一维菜单 菜单项不是固定的 它们根据从服务器接收的数据动态变化 所以我无法为它们编写修复代码 在 css 中 我声明选定的 MenuItem 为粗体 我的愿望只是让选定的菜单项在选择后保持粗体 但是当我单击它时 它失去焦点
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • Mac 应用程序商店 - 尝试让加密发挥作用。 。 。我缺少什么?

    我正在尝试使用 Alan Quartermain 的解决方案 如该问题所链接 Mac App Store 收据验证码 https stackoverflow com questions 4261348 mac app store recei
  • 对 Mac“捆绑”文件进行版本控制的最佳方法

    所以你知道很多 Mac 应用程序都使用 捆绑包 对于你的应用程序来说 它看起来像是一个文件 但实际上它是一个包含许多文件的文件夹 对于要处理此问题的版本控制系统 它需要 检出目录中的所有文件 以便应用程序可以根据需要修改它们 at chec

随机推荐