the menu is gone in qt on mac osx

在osx系统下, qt程序菜单项的名字如果是“quit”,”about”(不区分大小写), 这个菜单项就会消失, 如果这个菜单只包含这些会消失的菜单项, 那么这个菜单也会消失.
猜测: 这应该是由于跟osx系统默认给程序提供了一些菜单项有冲突的关系.

问题示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SimpleMenu::SimpleMenu(QWidget *parent)
: QMainWindow(parent) {

// 只要菜单项的名字不是“Quit”或“quit”就可以正常显示
QAction *quit = new QAction("&Quit", this);
// 只要菜单项的名字不是“About”或“about”就可以正常显示
QAction *about = new QAction("&about", this);

QMenu *file;
file = menuBar()->addMenu("&File");
file->addAction(quit);
file->addAction(about);

connect(quit, &QAction::triggered, qApp, QApplication::quit);
}