Qt文档阅读笔记-Q_GADGET官方解析及实例
Q_GADGET宏是轻量级的Q_OBJECT宏。使用这个宏无需继承OBject类就能使用QMetaObject相关的特性(也就是元对象系统的特点如反射),同样Q_GADGET也要是私有的。
Q_GADGET可以使用Q_ENUM,Q_PROPERTY,Q_INVOKABLE,但是不能使用信号与槽。
Q_GADGET使得类成员,staticMetaObject都可用。staticMetaObject是QMetaObject的类型,提供了访问Q_ENUMS的功能。
下面是博主的小例子
使用Q_GADGET,访问其中的Q_ENUMS
程序运行截图如下:
源码如下:
GadgetTest.h
#ifndef GADGETTEST_H
#define GADGETTEST_H#include <QObject>class GadgetTest
{Q_GADGET
public:GadgetTest();enum Priority { High, Low, VeryHigh, VeryLow };enum Type{Zero, One, Two, Three};Q_ENUM(Priority)Q_ENUM(Type)
};#endif // GADGETTEST_H
GadgetTest.cpp
#include "GadgetTest.h"GadgetTest::GadgetTest()
{}
main.cpp
#include <QCoreApplication>
#include <QDebug>
#include <QMetaObject>
#include <QMetaMethod>
#include <QMetaEnum>
#include <QMetaObject>
#include "GadgetTest.h"int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);int count = GadgetTest::staticMetaObject.enumeratorCount();for(int i = 0; i < count; i++){QMetaEnum en = GadgetTest::staticMetaObject.enumerator(i);int enCount = en.keyCount();for(int j = 0; j < enCount; j++){qDebug() << en.value(j);qDebug() << en.key(j);}qDebug() << "----------------华丽的分割线----------------";}return a.exec();
}
源码下载地址:
https://github.com/fengfanchen/Qt/tree/master/GADGET_Demo
Qt文档阅读笔记-Q_GADGET官方解析及实例相关推荐
- Qt文档阅读笔记-QSet官方解析及实例
目录 官方解析 博主栗子 官方解析 QSet类是一个模板类,他是一个哈希表集合. QSet<T>是Qt的一个普通容器类.QSet存储的值是不指明顺序的,QSet对这些值提供了快速检索的功能 ...
- Qt文档阅读笔记-QtWebApp官方解析与实例(使用QtWebApp搭建HTTP服务器)
目录 官方解析 博主例子 官方解析 QtWepApp是一个C++的http服务器,受到了java Servlets的启发,因为是Qt写的,所以有跨平台的支持. QtWebApp包含如下的组成部分: ...
- Qt文档阅读笔记-QHostInfo官方解析与实例(根据Host获取IP)
官方解析 QHostInfo提供了一个静态方法获取主机名: QHostInfo中有一个查找机制,可以根据IP找主机名,也可能工具主机名找IP,可以通过调用QHostInfo::lookupHost这个 ...
- Qt文档阅读笔记-QTcpServer官方解析与实例(使用QSocket创建简单的HTTP服务器)
目录 官方解析 博主例子(做一个简单的HTTP服务器) 本例子中HTTP协议关键点 官方解析 QTcpServer类,提供TCP服务的基础: 这个类接受TCP连接,可以指定一个端口,也可以让其自动一个 ...
- Qt文档阅读笔记-QWebPage官方解析与实例
目录 官方解析 博主例子 源码下载地址 官方解析 QWebPage提供一个视图对象和一个web页面: QWebPage提供了web页面的内容,各种设置(是否支持JavaScript等)和连接,它与QW ...
- Qt文档阅读笔记-QWebView官方解析与实例
目录 背景 官方解析 博主例子 背景 最近发现某Qt项目,出现的效果杠杆的,在看某一小功能的时候,发现有个echart的东西,百度了发现,真的是一个新大陆,Qt加web编程,贼吉尔可怕. 在此发现使用 ...
- Qt文档阅读笔记-Q_CLASSINFO官方解析与实例
官方解析 Q_CLASSINFO 这个宏为类提供额外的信息,要想获取这个Q_CLASSINFO这个信息要使用QObject::metaObject().Qt在Active Qt,Qt D-BUS以及Q ...
- Qt文档阅读笔记-stackUnder官方解析与实例
目录 官方解析 博主例子 官方解析 这里可以配合raise()和lower()这两个函数来使用! 博主例子 用2个label,点击谁谁就浮在界面的最上面,很简单的代码,程序运行截图如下: 源码如下: ...
- Qt文档阅读笔记-QPropertyAnimation官方解析及实例
目录 官方解析 博主例子 官方解析 QPropertyAnimation QPropertyAnimation类为Qt属性提供动画. QPropertyAnimation类可以修改Qt属性,从而达到动 ...
最新文章
- html5 呼吸灯效果,jQuery仿地铁线路指示灯效果
- CSS3 Transitions 你可能不知道的知识点
- CodeChef Ada Pawns
- pcie ep 应该支持哪种interrupt_7寸国产笔记本评测,酷睿处理器+8G+256G,还支持手写笔...
- ftp 断点续传 Android,Android使用FTP实现断点续传
- 高德地图如何将比例尺放大到10米?
- 【 iview 实践指南】之如何优雅地在Table中嵌套Input(代码篇)
- CSS选择器的权重详解
- oracle中文转全拼音,Oracle 将汉字转为全拼或返回拼音首字母SQL(二)
- 【转】VPP基本安装
- 客户端软件 大华_大华“飞燕”,一款主打稳定WiFi的路由器!
- UHF-RFID基础知识
- 阿里云Kubernetes Service Mesh实践进行时(7): 可观测性分析服务Kiali
- 搭建微信小程序(前后端)
- 斐讯k2路由器刷华硕固件做桥接中继
- KL散度-Entropy-JS散度-W距离
- 什么是 1号信令、7号信令和PRI信令?
- 来自安徽、关心安徽的朋友一定要看!快报记者3点准时登陆在线聊天 - 评说天下 - 19楼互动生活空间
- 【FusionCompute】基于FreeNAS部署并使用虚拟存储(五)
- Ogg For Bigdata 同步Oracle数据到KAFKA(包括初始化历史数据)