Как добавить элемент действия в приложение QT/C++

Я создал приложение в Qt/C++, по умолчанию у меня в основном:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MainUI MyWindow(*MyData);
    MyWindow.show();
    return app.exec();
}

MainUi - это класс, который используется для объявления того, что должно отображаться внутри QApplication.

PulsMainUI::PulsMainUI(MyData& mydata) :
    m_data(mydata)
{
    setWindowTitle(QString::fromUtf8("Browser"));
    resize(800,600);
    setUnifiedTitleAndToolBarOnMac(true);

    QWidget *TopBarWidget = new QWidget();
    TopBarWidget->setFixedHeight(61);
    QHBoxLayout *TopBarLayout = new QHBoxLayout(TopBarWidget);
    ...

    /*about*/
    aboutAction = new QAction(tr("&About"),this);
    connect(aboutAction, SIGNAL(triggered()),this ,SLOT(aboutPuls()));

    /*Overall Layout*/
    QWidget *MainWindowWidget = new QWidget();
    MainWindowWidget->addAction(aboutAction);

    QVBoxLayout *MainWindowLayout = new QVBoxLayout(MainWindowWidget);
    MainWindowLayout->setSpacing(0);
    ...
    setCentralWidget(MainWindowWidget);
    show();
}

Эта часть работает нормально, кроме

aboutAction = new QAction(tr("&About"),this);
connect(aboutAction, SIGNAL(triggered()),this ,SLOT(aboutPuls()));
MainWindowWidget->addAction(aboutAction);

Моя цель - не создать новое меню, а просто новое действие в доступном по умолчанию меню. По умолчанию QApplication создает меню "puls_connect", это имя моего проекта с действием "Выход". Я просто хочу добавить в "О"

Любая идея?

Спасибо

1 ответ

Решение

Вам нужно создать верхний уровень Help меню и добавить About действие в это. Qt автоматически переместит его в главное меню приложения на OS X.

Пример:

QMenu *helpMenu = new QMenu("Help", this);
helpMenu->addAction("About");
menuBar()->addMenu(helpMenu);
Другие вопросы по тегам