【macOS Qt MenuBar】的显示方法

您所在的位置:网站首页 macbook菜单栏不显示 【macOS Qt MenuBar】的显示方法

【macOS Qt MenuBar】的显示方法

2023-09-16 08:46| 来源: 网络整理| 查看: 265

MacOS Qt MenuBar无法在窗体中显示菜单的原因与解决方法 产生的问题解决方案修改方法一方法二

产生的问题

在macOS中安装Qt,运行的程序通常与在Windows中不同, 这取决于平台是否使用Native menubar,一些Linux系统中同样存在这种问题 异常显示

Mac默认的菜单显示在菜单栏,并且默认没有action的menu将不会显示,复用菜单将不按照预先设定的方式排列。

错误显示🙅‍♂️如下 复用 异常2 设计显示如下 正确显示

解决方案

默认设置是否跟随系统取决于是否显式设置属性,显示设置将覆盖系统的默认选项。

修改 方法一

去main.cpp页面,在main()函数中插入下列 代码片.

QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuBar);

此时你的main()函数看起来应该是这样

int main(int argc, char *argv[]) { QApplication a(argc, argv); QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuBar); MainWindow w; w.show(); return a.exec(); }

当然,在构造函数中添加以上代码也是可行的,这里介绍的是通法。Qt assistant1

Qt assisitant2

方法二

也有一些方法比如 经检验,高版本的Qt中这种方案可能已经不再适用,建议用方法一 在构造函数中添加以下代码片(有ui)

ui->menubar->setNativeMenuBar(false);

或者(无ui)

menubar->setNativeMenuBar(false);


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3