您的位置:首页 > 编程语言 > Qt开发

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

2016-06-30 16:33 375 查看
在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中判断信号是否与槽连接:

QPushButton btn;
int receivers = btn.receivers(SIGNAL(clicked(bool));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: