在QT中將枚舉類型註冊(QT_Q_ENUM或QT_Q_FLAG)後,就能夠利用QT的元對象進行枚舉類型與字符串類型轉換了。spa
代碼示例:code
#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中判斷信號是否與槽鏈接:blog
QPushButton btn; int receivers = btn.receivers(SIGNAL(clicked(bool));