qt中的菜单QMenu QAction
Qt中要建立菜单,有三个类很重要:
QMenuBar(QWidget * parent = 0)
QMenu(QWidget * parent = 0)
QMenu(const QString & title, QWidget * parent = 0)
QAction(QObject * parent)
QAction(const QString & text, QObject * parent)
QAction(const QIcon & icon, const QString & text, QObject * parent)
QMenuBar:就是所有窗口的菜单栏,在此基础上添加不同的QMenu和QAction
QMenu:菜单栏里面菜单,可以显示文本和图标,但是并不负责执行操作,有点类似label的作用
QAction: Qt 将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示。QAction才是真正负责执行操作的部件。
建立一个菜单栏,基本上要三步:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QMenu>
#include <QMenuBar>
#include <QStatusBar>class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = 0);~MainWindow();QMenu* menu[10];QAction* act[10];QMenuBar* menuBar ;QStatusBar* status ;
public slots:void trigerMenu(QAction* act);
};#endif // MAINWINDOW_H
#include "mainwindow.h"
#include <Qt>
#include <QtDebug>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{this->resize(400,300);this->centralWidget();status = new QStatusBar(this);menu[0] = new QMenu("文件");menu[0]->addAction("编辑");menu[0]->addAction("查看");menu[0]->addAction("工具");act[0] = new QAction("新建",this);act[0]->setShortcut(Qt::CTRL | Qt::Key_A );act[0]->setStatusTip("这是一个新建菜单");act[1] = new QAction("打开",this);act[1]->setCheckable(true);menu[1] = new QMenu("保存");menu[1]->addAction(act[0]);menu[1]->addAction(act[1]);menu[2] = new QMenu("打印");menu[2]->addAction("打印设置");menu[2]->addMenu(menu[1]);menuBar = new QMenuBar(this);menuBar->addMenu(menu[0]);menuBar->addMenu(menu[2]);menuBar->setGeometry(0,0,this->width(),30);connect(menuBar,SIGNAL(triggered(QAction*)),this,SLOT(trigerMenu(QAction*)));
}MainWindow::~MainWindow()
{}void MainWindow::trigerMenu(QAction* act)
{if(act->text() == "新建"){qDebug()<<"新建菜单被按下";}
}
#include "mainwindow.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
qt中的菜单QMenu QAction相关推荐
- 在Qt中添加菜单图标
第一步:新建Qt Widgets Application,取合适的项目名称,基类选择QMainWindow,类名为MainWindow. 第二步:创建完项目后,双击mainwindow.ui文件进入设 ...
- QT界面QMenuBar()、QMenu()和QAction()的使用
QMenuBar: 就是所有窗口的菜单栏,在此基础上添加不同的QMenu和QAction QMenu: 菜单栏里面菜单,可以显示文本和图标,但是并不负责执行操作,有点类似label的作用 QActio ...
- 【QT小记】QT中如何弹起菜单
在QT中使用鼠标右键弹起菜单,或左键长按弹出菜单的方法 窗口设置菜单策略 // 设置菜单策略为自定义菜单 this->setContextMenuPolicy(Qt::CustomContext ...
- qt中qlineedit和qtextedit右键菜单翻译成中文
qt中qlineedit和qtextedit右键菜单翻译成中文 qlineedit和qtextedit属于qwidget控件,在源码中找到../widgets/widgets.pro,在.pro文件最 ...
- qt中添加资源文件以及添加菜单图标、工具栏中菜单的快捷方式、窗口以及对话框的icon
1.file--new-QT resource file,就会在工程中添加一个资源文件,然后单击Add下拉框,选择Add prefix,可以将生成的/new/prefix的后缀改为其他的名字,如fil ...
- QT中使用rubberband橡皮筋等方法进行选中多个物体
文章目录 功能介绍 代码介绍 myitem.h/cpp 图形项 myview.h/cpp场景 主函数 结果展示 代码下载 参考 功能介绍 点击左键.按 Shift 键可以单选,按下 Ctrl 可进行多 ...
- Qt中的自定义模型类
文章目录 1 Qt中的通用模型类 1.1 Qt中的通用模型类 1.2 Qt中的变体类型QVariant 2 自定义模型类 2.1 自定义模型类设计分析 2.2 自定义模型类数据层.数据表示层.数据组织 ...
- 【Qt】Qt资源应用--菜单图标
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 主窗口菜单设计 04. 添加资源菜单 05. 使用资源文件 06. 使用代码添加菜单图标 07. 附录 01. 概述 主窗 ...
- QT中三种构建菜单栏的方法
QT中三种构建菜单栏的方法 方法1 <C++ GUI programming with Qt 4, Second Edition>给出的一种方法:QMenum定义单个菜单,调用menuBa ...
最新文章
- Seven Microservices Anti-patterns
- js原生方法传参的细节(面试必问)
- 实现费用管理 mysql_移动电费房租管理系统的设计与实现(IDEA,MySQL)
- 计算机有残留office,电脑中无法安装Office2013删除残留文件的方法
- es 调整gc_实际中进行GC调整
- 2021 ACDU China Tour-上海站暨数据库大咖讲坛(第4期)成功举办!(附视频回放PPT下载)...
- 设计模式01-模板设计模式
- Linux 进程间通讯(IPC)方式 ------- 共享内存
- PHP composer
- HTML资源嗅探,scrapy-2 嗅探网站,解析HTML
- 现版本IE11调试工具
- 地图可视化开发技巧:geojson转svg后再转emf格式插入ppt实现编辑的解决方案
- 用前端框架开发一款APP要多少钱
- Linux基础3-实用进阶
- python使用requests模块下载文件
- 编程之类的文案_精选50句文案,个个都是让你灵感喷涌的句子!
- linux下java程序乱码,解决linux下java程序(例如applet)中文乱码问题
- 快递查询工具,如何查看单号在每个时间段的具体信息
- php防止文件盗链,详解PHP防止盗链防止迅雷下载的方法
- 西安80转2000坐标参数_【技术】西安80坐标与地方坐标系的转换方法技巧
热门文章
- mysql my.cnf 配置_MySQL——my.cnf参数设置说明
- python匿名函数调用_python中引用局部变量的匿名函数
- 用python输入名字并打印_python的输出与输入
- laragon环境更新安装新的php版本操作方法
- Keil | 解决Keil与VScode配合使用时,代码与注释位置不一样的问题。
- 向前欧拉公式例题_干货丨阅读理解答题万能公式,语文考试高分秘籍!
- 信息安全工程师-AES密码技术及XOR图像遮盖技术(JavaC++)
- Spring Boot笔记-@PathVariable的使用
- 计算机网络-RIP与OSPF
- Python笔记-flask执行后台程序(非web应用)