2016-04-13 3 views
0

У меня есть класс, который есть перечислениеКак получить доступ к перечислению из QML?

Q_PROPERTY (Heatercooler * heatercooler READ heatercooler CONSTANT USER верно)

class Heatercooler : public HardwareComponent 
    { 
     Q_OBJECT 
     Q_ENUMS(HeatTestState) 

    public: 
     Heatercooler(QObject *parent = 0); 
     ~Heatercooler(); 

     void timerEvent(QTimerEvent *); 

     enum HeatTestState 
     { 
      HEAT_IDLE = 0, 
      HEAT_GO_AMBIENT_FOR_HOT, 
      HEAT_GO_AMBIENT_FOR_COLD, 
      HEAT_GO_AMBIENT_FOR_FINISH, 
      HEAT_GO_HOT, 
      HEAT_GO_COLD, 
      HEAT_FINISH_SUCCESS, 
      HEAT_FINISH_ERROR, 

      HEAT_LT_COLD, 
      HEAT_LT_COLD_Finished, // lt cold is fifferent from normal cold -> #431 
     }; 

public slots: 
     void setState(HeatTestState newstate); 

    } 

Я пытаюсь получить доступ к нему с помощью кнопки, но это говорит о том, что перечисление не определено

Button { 
        text: qsTr("Heater") 
        priority: 1 
        Layout.fillWidth: true 
        onSecureClicked: hardware.heatercooler.setState(HEAT_GO_AMBIENT_FOR_HOT) 
       } 

ответ

0

вы перечисление внутри класса Heatercooler, так что вы должны написать Heatercooler::HEAT_GO_AMBIENT_FOR_HOT