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

在QT中将枚举类型注册(QT_Q_ENUM或QT_Q_FLAG)后,就可以利用QT的元对象进行枚举类型与字符串类型转换了。

代码示例:

#include <QtCore/QMetaEnum>

int main() {
    QMetaEnum metaEnum = QMetaEnum::fromType<Qt::Alignment>();

    //字符串转枚举值
    Qt::Alignment alignment = (Qt::Alignment)metaEnum.keyToValue("Qt::AlignLeft");
    alignment = (Qt::Alignment)metaEnum.keysToValue("Qt::AlignLeft | Qt::AlignVCenter");

    //枚举值转字符串
    const char* s = metaEnum.valueToKey(Qt::AlignCenter);
    return 0;
}

在qss中我们可以这样使用枚举类型:

QTabBar#CustomTabBar {
    /* Qt::AlignmentFlag定义 */
    qproperty-text_align: "AlignLeft | AlignVCenter";
}
时间: 2024-10-06 01:14:41

QT枚举类型与字符串类型相互转换的相关文章

JavaSE 日期类型与字符串类型的相互转换

package cn.zwq.convert; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 日期类型与字符串类型的相互转换 * * @author zwq * @version V1.0 * @Date 2016年10月11日 下午8:28:04 * */ public class DateConvert { public static void

SpringMVC中的返回值问题之二返回数值类型和字符串类型

返回数值类型和字符串类型 需要导入依赖 当引入Jackson-databind-2.5.1.jar时自动引入Jackson-annotations-2.5.0.jar <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --><dependency> <groupId>com.fasterxml.jackson.core</groupId> <a

数据结构之数字类型和字符串类型

数字类型和字符串类型 1.bin()函数将十进制转换成而进制 2.oct()函数将十进制转换成八进制 3.hex()函数将十进制转换成十六进制 十六进制表示:0-9 a b c d e f 4.数字类型的特性: 只能存放一个值 一经定义,不可更改 直接访问 分类:整型,布尔,浮点,复数 5.字符串类型 引号包含的都是字符串类型 S1='hello world'  s="hello world" s2="""hello world""&q

数字类型和字符串类型

1.bin()函数将十进制转换成而进制 2.oct()函数将十进制转换成八进制 3.hex()函数将十进制转换成十六进制 十六进制表示:0-9 a b c d e f 4.数字类型的特性: 只能存放一个值 一经定义,不可更改 直接访问 分类:整型,布尔,浮点,复数 5.字符串类型 引号包含的都是字符串类型 S1='hello world'  s="hello world" s2="""hello world""" s3='''

Day2_数字类型_字符串类型_列表类型_元组_字典_集合_字符编码_文件处理

数字类型: 作用:年纪,等级,薪资,身份证号等: 10进制转为2进制,利用bin来执行. 10进制转为8进制,利用oct来执行. 10进制转为16进制,利用hex来执行. #整型age=10 print(type(age)) #浮点 salary=3000.3 print(type(salary))#10进制转为2进制print(bin(age)) 字符串类型: 作用:可以表示的有名字,性别,国籍等.. 常用操作: 移除空白: name.stript()  #此时name是一个变量 *.stri

从键盘接收字符类型和字符串类型的数据(剪刀石头布)

在程序里定义一个剪刀石头布的规则,然后定义两个字符型变量,接着从键盘上接收两个数据分别赋给这两个变量,再按照已经设定好了的规则来 比较,最后输出结果. .        这个需要首先导入Scanner类:import java.util.Scanner;,定义一个Scanner对象,Scanner p = new Scanner(System.in);        然后定义一个字符串变量,先从键盘上接收这个字符串的内容,String p1 = p.next();         //大神说,要

Python:数字类型和字符串类型的内置方法

一.数字类型内置方法 1.1 整型的内置方法 作用 描述年龄.号码.id号 定义方式 x = 10 x = int('10') x = int(10.1) x = int('10.1') # 报错 内置方法 没有内置方法,只有算术运算和比较运算 存在一个值还是多个值 存一个值 有序or无序 有序:有索引:无序:无索引 压根就没有这一说 可变or不可变(重点) 数字类型不可变 可变(变量值而言) lis = [1,2,3] print(id(lis)) lis[0] = 2 #lis-->[2,2

Java中关于Json对象类型和字符串类型之间互相转化的问题

Java中关于Json格式转化Object,Map,Collection类型和String类型之间的转化在我们实际项目中应用的很是普遍和广泛.最近工作的过程中也是经常有,因此,自己封装了一个JsonUtil.java类. 所需要的jar包:slf4j-jdk14-1.5.6.jar,slf4j-api-1.5.6.jar------>此两个jar包是slf4j日志jar包 jackson-annotations-2.1.1.jar,jackson-core-2.1.1.jar,jackson-d

阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第6节 基本类型包装类_4_包装类_基本类型与字符串类型之间

integer里面有toString的方法,可以integer转换为String类型 String类里面有valueOf可以,把int转换为String类型 int加上空的字符串就是,字符串 字符串变为基本类型 异常数据 以上就是基本类型和字符串的相互转换. 原文地址:https://www.cnblogs.com/wangjunwei/p/11229028.html