如何在 QT/C++ 应用程序中添加操作项
How to add an action item in a QT/C++ application
我已经在 Qt/C++ 中创建了一个应用程序,默认情况下,我的主程序中有:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainUI MyWindow(*MyData);
MyWindow.show();
return app.exec();
}
MainUi 是一个 class,用于声明应该在 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',它是我的带有 "Exit" 操作的项目的名称。我只想在 "About"
里面添加
有什么想法吗?
谢谢
您需要创建一个顶级 Help
菜单并向其中添加 About
操作。 Qt 会自动将其移动到 OS X 上的主应用程序菜单。
一个例子:
QMenu *helpMenu = new QMenu("Help", this);
helpMenu->addAction("About");
menuBar()->addMenu(helpMenu);
我已经在 Qt/C++ 中创建了一个应用程序,默认情况下,我的主程序中有:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainUI MyWindow(*MyData);
MyWindow.show();
return app.exec();
}
MainUi 是一个 class,用于声明应该在 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',它是我的带有 "Exit" 操作的项目的名称。我只想在 "About"
里面添加有什么想法吗?
谢谢
您需要创建一个顶级 Help
菜单并向其中添加 About
操作。 Qt 会自动将其移动到 OS X 上的主应用程序菜单。
一个例子:
QMenu *helpMenu = new QMenu("Help", this);
helpMenu->addAction("About");
menuBar()->addMenu(helpMenu);