1

我在 Qt/C++ 中创建了一个应用程序,默认情况下,我的 main 中有:

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”,它是我的项目的名称,带有“退出”操作。我只想在“关于”中添加

在此处输入图像描述

任何的想法 ?

谢谢

4

1 回答 1

3

您需要创建一个顶级Help菜单并向其中添加About操作。Qt 会自动将其移动到 OS X 上的主应用程序菜单。

一个例子:

QMenu *helpMenu = new QMenu("Help", this);
helpMenu->addAction("About");
menuBar()->addMenu(helpMenu);
于 2015-04-30T06:06:38.323 回答