首页 > 其他 > 详细

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

时间:2016-06-30 17:46:35      阅读:320      评论:0      收藏:0      [点我收藏+]

在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枚举类型与字符串类型相互转换

原文:http://www.cnblogs.com/dongc/p/5630444.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!