《QT从基础到进阶·九》菜单,菜单栏,工具栏创建

简介: 《QT从基础到进阶·九》菜单,菜单栏,工具栏创建

创建菜单栏,工具栏

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()));

相关文章
|
6月前
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
157 0
|
3月前
|
UED
【Qt 学习笔记】Qt窗口 | 工具栏 | QToolBar的使用及说明
【Qt 学习笔记】Qt窗口 | 工具栏 | QToolBar的使用及说明
435 2
|
3月前
|
数据可视化
【Qt 学习笔记】Qt窗口 | 菜单栏 | QMenuBar的使用及说明
【Qt 学习笔记】Qt窗口 | 菜单栏 | QMenuBar的使用及说明
600 2
|
5月前
|
前端开发
自定义QT QWidget对象响应弹出菜单的解决方法
自定义QT QWidget对象响应弹出菜单的解决方法
73 1
|
6月前
Qt实现的多菜单选择界面
Qt实现的多菜单选择界面
96 0
|
6月前
[Qt5] 右键窗体弹出菜单,实现图像适应窗体大小
[Qt5] 右键窗体弹出菜单,实现图像适应窗体大小
113 0
|
6月前
|
Windows
[Qt5] 创建菜单栏、工具栏、核心控件和浮动窗口
[Qt5] 创建菜单栏、工具栏、核心控件和浮动窗口
93 0
|
API Python
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)
Qt实用技巧:将QWidget作为输入窗口,接收键盘消息、输入法并且控制输入法悬浮工具栏位置控制
Qt实用技巧:将QWidget作为输入窗口,接收键盘消息、输入法并且控制输入法悬浮工具栏位置控制