// Хочу устанавливать dataProvider из QML
};
class IDataProvider : public QObject { // Наследую от QObject, чтобы юзать в Q_PROPERTY
virtual void loadData(...) = 0;
}
class DataProvider : public QObject, public IDataProvider { // Наследую QObject чтоб инстанцировать в QML
void loadData(...) override;
}
qmlRegisterType<DataProvider>(...);
И потом в qml коде писать:
QmlGuiElement {
dataProvider: DataProvider {}
}
При таком коде пишет, что множественное наследование от QObject не поддерживается. Как правильно должен код выглядеть?
class DataProvider : public IDataProvider
Я не уверен опечатка ли это, но QmlGuiElement должен от куобджекта наследоваться для Q_PROPERTY
Указатель используй в свойстве
у DataProvider должна быть единственная база QObject
возможно есть смысл поискать про Q_INTERFACES
Обсуждают сегодня