-
Suggestion
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
There are no problems with the Q_PROPERTY declaration or the property bindings, so I presume that it should be possible to resolve the signal parameter too?
Code
cppobj.h
class CppObj : public QObject { Q_OBJECT QML_ELEMENT Q_PROPERTY(MyEnum value READ value WRITE setValue NOTIFY valueChanged FINAL) public: explicit CppObj(QObject *parent = nullptr) : QObject(parent) {} enum MyEnum { Alpha, Bravo, Charlie }; Q_ENUM(MyEnum) MyEnum value() const { return m_value; } void setValue(MyEnum value) { if (m_value == value) return; m_value = value; emit valueChanged(m_value); } signals: void valueChanged(MyEnum value); // qmllint and qmlsc need this to be fully-qualified, "CppObj::MyEnum" private: MyEnum m_value = Alpha; };
Main.qml
import QtQuick import TypeQualificationStudy Window { width: 600 height: 400 visible: true CppObj { id: cppObj value: CppObj.Bravo // OK onValueChanged: console.log(value) // Warning: Type MyEnum of parameter value in signal called valueChanged was not found, but is required to compile onValueChanged. } Component.onCompleted: console.log(cppObj.value) // OK }
- is required for
-
QTBUG-140424 QMediaRecorder::RecorderState is not recognized by QML tools
-
- Reported
-