QT枚举类型与字符串类型相互转换
Posted DC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"; }
以上是关于QT枚举类型与字符串类型相互转换的主要内容,如果未能解决你的问题,请参考以下文章