首页 > 其他分享 >QT枚举类型的使用

QT枚举类型的使用

时间:2023-09-04 18:06:00浏览次数:36  
标签:TetrixShape 头文件 QT ENUM QMetaEnum metaEnum 枚举 类型

QT枚举类型的使用

测试将这个枚举放在头文件外面,Q_ENUM也不可以引用,这个限制有点奇葩,引用另一个头文件定义的枚举类型也不行

.h头文件

enum TetrixShape { NoShape, ZShape, SShape, LineShape, TShape, SquareShape,

                       LShape, MirroredLShape };

    Q_ENUM(TetrixShape);

cpp源代码文件

需要引用QtWidgets

#include <QtWidgets>

QMetaEnum metaEnum=QMetaEnum::fromType<TetrixShape>();
       for (int i = 0; i < metaEnum.keyCount(); ++i)
        {
           qDebug()<<metaEnum.key(i)<<metaEnum.value(i);
      }

测试效果

QT枚举类型的使用_头文件

标签:TetrixShape,头文件,QT,ENUM,QMetaEnum,metaEnum,枚举,类型
From: https://blog.51cto.com/u_12668715/7353778

相关文章

  • MySQL的Json类型个人用法详解
    前言虽然MySQL很早就添加了Json类型,但是在业务开发过程中还是很少设计带这种类型的表。少不代表没有,当真正要对Json类型进行特定查询,修改,插入和优化等操作时,却感觉一下子想不起那些函数怎么使用。比如把json里的某个键和值作为SQL条件,修改某个键下的子键的值,其中可能会遇到数组形式......
  • centos下手动编译Qt应用程序
    centos7下手动编译Qt5的程序需要Qt5的源代码编译出Qt5在linux下的可执行环境,怎么编译这个以后再说我这里编译的版本是5.9.9然后,将这个环境拷贝到centos某个目录下,我放到主目录下设置环境变量编写一个文本文件叫qt-5.9.9-env,内容是exportPATH=/home/fan/qt-5.9.9/bin:$PATHe......
  • MySQL的Json类型个人用法详解
    ​ 前言虽然MySQL很早就添加了Json类型,但是在业务开发过程中还是很少设计带这种类型的表。少不代表没有,当真正要对Json类型进行特定查询,修改,插入和优化等操作时,却感觉一下子想不起那些函数怎么使用。比如把json里的某个键和值作为SQL条件,修改某个键下的子键的值,其中可能会遇到......
  • 理解Qt中的setViewport和setWindow
    概念相关Qt的2D变换中有逻辑坐标(窗口)和物理坐标(视口)划重点:窗口(逻辑坐标)与视口(物理坐标)的关系:窗口的四个角会映射到视口的四个角,它们四个角之间一一对应,两者的比例是1:1。它们默认的状态下,逻辑坐标和物理坐标都是一一对应的,起始点都是(0,0),长度高度也一致即两者重合,对应......
  • 小谈Qt的坐标系系统 - 3个坐标系,2个变换
    小谈Qt的坐标系系统Qt中有三个坐标系设备坐标系窗口坐标系逻辑坐标系设备坐标系:即Device坐标系。也是物理坐标系。即真实的的物理坐标系。逻辑坐标系:即用户坐标系。也就是说日常大家使用Qt的时候的坐标系。窗口坐标系:这个坐标系是QPainter设置setWindow以后的一个坐......
  • QT坐标系转换(将QPainter左上角为原点的坐标系转换为正常坐标系)
    没有复杂的变换,简单转化窗口坐标系,即可按我们正常熟知的坐标系进行绘图QPainter坐标系以左上角为原点,如下图 在这样的坐标系下绘图,位置这是倒过来的QPainterm_pPainter(this);   m_pPainter.setBrush(Qt::yellow);   m_pPainter.drawRect(0,0,50,50);   m......
  • SIEM 中不同类型日志监控及分析
    安全信息和事件管理(SIEM)解决方案通过监控来自网络的不同类型的数据来确保组织网络的健康安全状况,日志数据记录设备上发生的每个活动以及整个网络中的应用程序,若要评估网络的安全状况,SIEM解决方案必须收集和分析不同类型的日志数据。什么是日志分析日志分析是调查收集的日志以识别......
  • MybatisPlus处理Mysql的json类型
    MybatisPlus处理Mysql的json类型1、在数据库表定义JSON字段;2、在实体类加上@TableName(autoResultMap=true)、在JSON字段映射的属性加上@TableField(typeHandler=JacksonTypeHandler.class);1.实体类中有个属性是其他对象,或者是List;在数据库中存储时使用的是mysql的json格式,此......
  • VS+Qt工具vsaddin
    1.https://download.qt.io/official_releases/vsaddin/2.ToolsExtensions-VisualStudio 安装:C:\xxxx\VSIXInstaller.exexxx.vsix......
  • PC端项目和移动端项目之间,根据设备类型判断相互跳转
    移动端项目配置:在index.html里添加以下代码即可<script>letsUserAgent=navigator.userAgent.toLowerCase();letisIpad=sUserAgent.match(/ipad/i)=="ipad";letisIphoneOs=sUserAgent.match(/iphoneos/i)=="iphoneos";letisMid......