zoukankan      html  css  js  c++  java
  • 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中判断信号是否与槽连接:

    QPushButton btn;
    int receivers = btn.receivers(SIGNAL(clicked(bool));
  • 相关阅读:
    感知机学习笔记
    NOIP 模拟19
    NOIP 模拟17
    NOIP模拟14-16
    「动态规划」-数位dp专题
    8.5 NOIP 模拟测试 13
    8.3 NOIP 模拟12题解
    8.3 NOIP CE反思
    「分治」-cdq分治
    8.1 NOIP模拟11
  • 原文地址:https://www.cnblogs.com/dongc/p/5630444.html
Copyright © 2011-2022 走看看