我只是找到了多个示例说明的用法Q_ENUM,并Q_ENUMS与展望定义的Q_ENUM给我看,它包括Q_ENUMS和其他定义.
Q_PROPERTY在信号/插槽,QVariants和qDebug()输出中使用枚举Qml/QtQuick时,我不确定要写哪一个.
似乎Q_ENUM使用它是更好的一个Q_ENUMS,但我只是在这里猜测.
究竟有什么区别,为什么有两个差异,哪一个应该优先考虑?
由于Q_ENUMS不建议使用Qt 5.5 ,因此最好使用代替Q_ENUM。
在Qt文档中有一个示例显示了其用法:
class MyClass : public QObject
{
Q_OBJECT
Q_PROPERTY(Priority priority READ priority WRITE setPriority NOTIFY priorityChanged)
public:
MyClass(QObject *parent = 0);
~MyClass();
enum Priority { High, Low, VeryHigh, VeryLow };
Q_ENUM(Priority)
void setPriority(Priority priority)
{
m_priority = priority;
emit priorityChanged(priority);
}
Priority priority() const
{
return m_priority;
}
signals:
void priorityChanged(Priority);
private:
Priority m_priority;
};
Run Code Online (Sandbox Code Playgroud)
有关从背后此举的原因的详细信息Q_ENUMS来Q_ENUM阅读这篇博客