Qt5 with MacOS:如何在应用程序菜单中添加条目?

时间:2015-01-08 13:05:55

标签: macos qt5

我正在使用Qt5编写应用程序。该应用程序在Window,Linux和MacOS上运行。

为了确保我的应用符合苹果的要求,我想在应用程序菜单中添加条目(首选项,关于......)。

enter image description here

有谁知道怎么做?

old doc about Qt4.8描述菜单是由Qt处理的,但它没有描述该怎么做。

1 个答案:

答案 0 :(得分:0)

我看到了这个问题,正在寻找答案。注释很有帮助,但是这里有一个更完整的代码示例,应该可以帮助其他人。

mainwindow.h:添加以下包含语句

#include <QMenu>
#include <QAction>

...

private:
    Ui::MainWindow *ui;
    QMenu *mainMenu;
    QAction *aboutAction;

mainwindow.cpp:初始化函数

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    this->aboutAction = new QAction(0);
    this->aboutAction->setMenuRole(QAction::AboutRole);
    ui->setupUi(this);
    this->mainMenuBar = new QMenuBar(0);
    this->mainMenu = new QMenu(0);
    this->mainMenuBar->addMenu(this->mainMenu);
    this->mainMenu->addAction(this->aboutAction);
    this->setMenuBar(this->mainMenuBar);
}

使用QT 5.3.2和Snow Leopard OS X 10.6.8,QT Creator 3.0.1。

由于您使用的是AboutRole,因此无需指定QAction的QString参数。它会自动默认为您想要的。

About Menu for Mac OS X using QT Creator