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

相关文章
|
2月前
|
搜索推荐 区块链 C++
C++ Qt开发:ToolBar与MenuBar菜单组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`ToolBar`工具栏组件以及与之类似的`MenuBar`菜单栏组件的常用方法及灵活运用。
143 1
|
2月前
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
93 0
|
1月前
|
前端开发
自定义QT QWidget对象响应弹出菜单的解决方法
自定义QT QWidget对象响应弹出菜单的解决方法
38 1
|
2月前
Qt实现的多菜单选择界面
Qt实现的多菜单选择界面
57 0
|
2月前
|
C++ 索引
C++ Qt开发:Tab与Tree组件实现分页菜单
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`tabWidget`选择夹组件与`TreeWidget`树形选择组件,的常用方法及灵活运用。
68 0
C++ Qt开发:Tab与Tree组件实现分页菜单
|
2月前
[Qt5] 右键窗体弹出菜单,实现图像适应窗体大小
[Qt5] 右键窗体弹出菜单,实现图像适应窗体大小
65 0
|
2月前
|
Windows
[Qt5] 创建菜单栏、工具栏、核心控件和浮动窗口
[Qt5] 创建菜单栏、工具栏、核心控件和浮动窗口
53 0
|
区块链 C++
C/C++ Qt ToolBar 菜单栏组件应用
ToolBar工具栏在所有窗体应用程序中都广泛被使用,使用ToolBar可以很好的规范菜单功能分类,用户可根据菜单栏来选择不同的功能,Qt中默认自带ToolBar组件,当我们以默认方式创建窗体时,ToolBar就被加入到了窗体中,一般是以QToolBar的方式存在于对象菜单栏,如下所示。
416 0
C/C++ Qt ToolBar 菜单栏组件应用
|
C++
C/C++ Qt Tree与Tab组件实现分页菜单
虽然`TreeWidget`组件可以实现多节点的增删改查,但多节点操作显然很麻烦,在一般的应用场景中基本上只使用一层结构即可解决大部分开发问题,`TreeWidget`组件通常可配合`TabWidget`组件,实现一个类似于树形菜单栏的功能,当用户点击菜单栏中的选项时则会跳转到不同的页面上。
307 0
C/C++ Qt Tree与Tab组件实现分页菜单
|
API Python
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)