2015-04-30 5 views
1

Я создал приложение в 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», это имя моего проекта с действием «Выход». Я просто хочу, чтобы добавить внутри «О»

enter image description here

Любая идея?

Благодаря

ответ

3

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

Пример:

QMenu *helpMenu = new QMenu("Help", this); 
helpMenu->addAction("About"); 
menuBar()->addMenu(helpMenu);