Squish:Enum作为函数参数

时间:2015-09-03 13:15:41

标签: python c++ qt enums squish

有人知道使用枚举作为c ++函数中的函数参数的解决方法,并用squish调用它们的函数吗? Enum在其他类和名称空间中声明为函数本身。 以下代码正在使用,可在qt:

中使用

Enum-class:

namespace prem {
     namespace space {

         class Controller : public QObject {
             Q_OBJECT
             Q_ENUMS(ID)

         public:

            enum ID { ONE, TWO, THREE };
          //.... other Stuff

         };
     } 
}

使用class:

namespace prem {
    namespace area {

        class Handler: public QObject {

        //...... some stuff

        public slot:

             void slotHandelID(prem::space::Controller::ID id) {
             // do some stuff 
             } 

        };
    }
}

现在我想在python测试脚本中调用slotHandelID函数。

controller = findObject("m_controller")
handler = findObject("m_handler")
handler.slotHandelID(controller.ONE)

但我得到了这个

SyntaxError: No matching 'slotHandelID(int)' overload found: Following overloads are available:
    prem::area::Handler::slotHandelID(undefined)

当我在slotHandelID(prem::space::Controller::ID id)类中定义Controller时,代码运行正常。

1 个答案:

答案 0 :(得分:2)

在新的挤压版本6.0中修复了该错误。