创建菜单栏,工具栏
QMenu* editMenu = menuBar()->addMenu("edit"); //创建菜单
QToolBar* toolBar = addToolBar("edit"); //创建工具栏
const QIcon icon = QIcon::fromTheme("edit-undo", QIcon(":/images/undo.png")); //加载图标
QAction* undoAction = new QAction(icon, "undo", this);
undoAction->setShortcuts(QKeySequence::Undo);
undoAction->setStatusTip("");
editMenu->addAction(undoAction);
toolBar->addAction(undoAction);
menuBar()->addSeparator(); //设置分割线
setShortcuts设置快捷键,比如QKeySequence::Open,可以通过ctrl+o实现这个按钮功能
setStatusTip设置状态栏提示,鼠标放在这个按钮上状态栏会显示提示信息。
另一种创建菜单栏方式:
//两种方式创建菜单栏
//QMenuBar* menu = menuBar();
QMenuBar* menu = new QMenuBar(this);
//将菜单栏添加到窗口
setMenuBar(menu);
//为每个菜单设置名称
QMenu* file = menu->addMenu("文件");
//创建子菜单
QMenu* zfile = file->addMenu("子文件");
//创建菜单功能
QAction* action = zfile->addAction("打开");
另一种方法创建菜单:QMenu* file = menuBar()->addMenu(tr(“文件”));//这样可以默认已经有菜单栏了,在菜单栏上创建一个文件的菜单。
QMenu插入不同的QAction后可以连接信号槽,点击QMenu里的菜单触发
connect(action, SIGNAL(triggered()), this, SLOT(xxxx()));
还有一种是鼠标点击菜单栏,展开所有菜单时触发信号:
connect(menu, SIGNAL(aboutToShow()), this, SLOT(xxxx()));
鼠标点击菜单栏展示所有菜单,在鼠标离开菜单栏后触发信号:
connect(menu, SIGNAL(aboutToHide()), this, SLOT(xxxx()));

📢博客主页: 主页
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 梦回阑珊 原创,首发于 优快云,转载注明出处🙉
📢代码改变世界,你来改变代码!✨