枚举类型

class Enum : public QObject{
Q_OBJECT
public:
enum Fruit{
APPLE = 0,
BANANA,
POTATO
}
Q_ENUM(Fruit);//向Qt注册此枚举文件,若有多个枚举,则在对应枚举下注册即可,如下 enum Vagetables{
TOMATO,//默认初值从零起
ONION,
POTATO
}
Q_ENUM(Vagetables);//嗯
}

值转枚举 int to Enum

int fruitType = 0;
Enum::Fruit fruit = (Enum::Fruit)fruitType;//Enum本身还是数值型的,所以只需要直接强制类型转换即可。但是我没有试过枚举不存在的值强制转换成枚举会是什么

值转枚举项的字符(Value to key) int to QString

#include <QMetaEnum>

int fruitType = 0;
QMetaEnum meta = QMetaEnum::fromType<Enum::Fruit>();
QString itemKey = meta.valueToKey(fruitType);

字符串转枚举值,结果为数字(Key to Value) QString to Enum

QString fruit = "POTATO";
QMetaEnum meta = QMetaEnum::fromType<Enum::Fruit>();
int value = meta.keyToValue(fruit.toStdString().data());//入参是char *

字符串转枚举类型,结果为枚举,QString to Enum

QString fruit = "POTATO";
QMetaEnum meta = QMetaEnum::fromType<Enum::Fruit>();
Enum::Fruit fruitItem = (Enum::Fruit)meta.keyToValue(fruit.toStdString().data());//入参是char *

枚举转字符串,Enum to QString

Enum::Fruit fruit = Fruit::POTATO;
QMetaEnum meta = QMetaEnum::fromType<Enum::Fruit>();
QString fruitStr = meta.valueToKey(fruit);

Qt 枚举类型 值、字符串、枚举类型互转的更多相关文章

  1. 枚举类型与字符串ConvertEnumToString

    枚举类型与字符串添加字典互转ConvertEnumToString using UnityEngine; using System.Collections; using UnityEngine.UI; ...

  2. QT枚举类型与字符串类型相互转换

    在QT中将枚举类型注册(QT_Q_ENUM或QT_Q_FLAG)后,就可以利用QT的元对象进行枚举类型与字符串类型转换了. 代码示例: #include <QtCore/QMetaEnum> ...

  3. { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型

    MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...

  4. swift_枚举 | 可为空类型 | 枚举关联值 | 枚举递归 | 树的概念

    ***************可为空的类型 var demo2 :we_demo = nil 上面这个代码串的语法是错的 为什么呢, 在Swift中,所有的类型定义出来的属性的默认值都不可以是nil ...

  5. MySQL字符编码、存储引擎、严格模式、字段类型之浮点 字符串 枚举与集合 日期类型

    目录 字符编码与配置文件 数据路储存引擎 创建表的完整语法 字段类型之整型 严格模式 字段类型之浮点型 字段类型之字符串类型 数字的含义 字段类型之枚举与集合 字段类型之日期类型 字符编码与配置文件 ...

  6. Typescript使用字符串联合类型代替枚举类型

    TypeScript宗旨 我觉得Typescript的宗旨是 任何一个 TypeScript 程序,在手动删去类型部分,将后缀改成 .js 后,都应能够正常运行.Typescript是javascri ...

  7. 枚举类型与位域枚举Enum

    一.概述 定义一个值类型,其中包含固定值集合.枚举类型变量可以是此集合中的任意一个或多个值.枚举使用enum关键字来声明,与类同级.枚举本身可以有修饰符,但枚举的成员始终是公共的,不能有访问修饰符.枚 ...

  8. 03.枚举和string以及int类型之间的转换

    练习1:   将枚举类型强转成int类型 namespace _04.枚举类型的练习01 { //声明一个QQState类型的枚举 public enum QQState { OnLine, OffL ...

  9. TypeScript - 类型声明、枚举、函数、接口

    目录  可定义的类型  类型声明  枚举  函数  接口 可定义的类型 以下所写的并不代表typescript的数据类型,而是在使用过程中可以用作定义的类型 number : 数值类型: string ...

  10. 实体类的枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以

    通常,我们都是在业务层和界面层使用枚举类型,这能够为我们编程带来便利,但在数据访问层,不使用枚举类型,因为很多数据库都不支持,比如我们现在用的SqlServer2008就不支持枚举类型的列,用的时候也 ...

随机推荐

  1. 中电资讯-乘风破浪数字经济,银行如何Hold数据?

    近期各类规划密集发布人行金融科技发展规划发布 金融标准化"十四五"规划发布 "十四五"信息化规划发布 -- 和数据应用有关的各项政策密集出炉 数字经济发展中如何 ...

  2. TypeScript 源码详细解读(2)词法1-字符处理

    本节文章研究的代码位于 tsc/src/compiler/scanner.ts 字符 任何源码都是由很多字符组成的,这些字符可以是字母.数字.空格.符号.汉字等-- 每一个字符都有一个编码值,比如字符 ...

  3. 如何使用Jet家软件进行学习(intellij、idea、IDEA、Pycharm……)

    如何使用Jet家软件进行学习 本文档提供方法只用于学习研究,不得用于其他用途 以下,萌狼蓝天将会提供两种方式 目录 如何使用Jet家软件进行学习 第一种方式:使用EAP版本 第二种方式:使用插件 (1 ...

  4. SpringBoot重点详解--使用Actuator进行健康监控

    目录 添加依赖与配置 Actuator监控项 Actuator监控管理 打开或关闭 端口与地址 Actuator是Springboot提供的用来对应用系统进行自省和监控的功能模块,借助于Actuato ...

  5. 微信小游戏直播在Android端的跨进程渲染推流实践

    本文由微信开发团队工程师"virwu"分享. 1.引言 近期,微信小游戏支持了视频号一键开播,将微信升级到最新版本,打开腾讯系小游戏(如跳一跳.欢乐斗地主等),在右上角菜单就可以看 ...

  6. Windows 配置自动更新重启策略

    I. 打开策略编辑器 [Win + R]打开 "运行" 窗口,输入: gpedit.msc 打开"本地组策略编辑器". II. 设置不自动重启 启用策略,选择在 ...

  7. blast只保留一个最优结果

    使用blast比对时,只保留一个最优结果 代码: blastn -db nt.blast.db -query seq.fa -out blast.nt.result -evalue 1e-5 -out ...

  8. linux安装软件配置

    CentOS7更换yum为阿里源 1 备份本地源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backu ...

  9. CRT优化RSA

    转载:利用中国剩余定理加速 RSA RSA 作为世界上使用最为流行的公钥密码算法,被广泛应用在数据加密和数字签名上. 为了提高加密和签名验证的效率,一般会将RSA的加密指数(一般是公钥位数)设置的较小 ...

  10. C 2017笔试题

    1.下面程序的输出结果是 int x=3; do { printf("%d\n",x-=2); }while(!(--x)); 输出:1 -2 解析:x初始值为3,第一次循环中运行 ...