添加QMainWindow自带的标准菜单栏和菜单
- 常用标准菜单代码:
//添加菜单栏
QMenuBar *menuBar;
menuBar = new QMenuBar(this);
this->setMenuBar(menuBar);
//给菜单栏添加标准文件菜单
QMenu *menuFile;
menuFile = new QMenu(menuBar);
menuBar->addAction(menuFile->menuAction());
//设置文本和快捷键, 通常导航栏中&F指Alt+F, 菜单中&O指Ctrl+O
menuFile->setTitle(tr("File(&F)"));
//给文件菜单添加子菜单
QAction *actionOpen;
actionOpen = new QAction(this);
actionOpen->setStatusTip(tr("Open an existing file")); //设置状态栏提示, 鼠标悬浮时状态栏会提示对应信息
connect(actionOpen, &QAction::triggered, this, &MainWindow::open); //关联槽函数
QAction *actionSave;
actionSave = new QAction(this);
menuFile->addAction(actionOpen);
menuFile->addSeparator();//给菜单加分隔条
menuFile->addAction(actionSave);
//给Open和Save菜单设置文本和快捷键
actionOpen->setText(tr("Open(&O)"));
actionSave->setText(tr("Save(&S)"));
-
效果如图
-
一些常用的菜单, 可以引用Qt中的标准菜单, 代码如下:
openAction = new QAction(tr("&Open"), this);
//设置快捷键为Qt标准快捷键: Qt标准快捷键可查Qt助手QKeySequence, Qt标准快捷键具有跨平台的特点.
openAction->setShortcut(QKeySequence::Open);