Кто-нибудь знает обходной путь для использования enum в качестве параметра функции в функции c ++ и вызывает их с помощью функции squish?
Enum был объявлен в другом классе и пространстве имен как сама функция.
Следующий код используется и работает в qt:
Enum-класс:
namespace prem {
namespace space {
class Controller : public QObject {
Q_OBJECT
Q_ENUMS(ID)
public:
enum ID { ONE, TWO, THREE };
//.... other Stuff
};
}
}
Используя класс:
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
класс код работает нормально.
Ошибка исправлена во время новой версии 6.0.