Я пытаюсь отправить пользовательский объект с удаленными объектами Qt.
Я объявил свой класс следующим образом:
#include <QDebug>
#include <QObject>
#include <QDataStream>
class Model : public QObject {
Q_OBJECT
public:
explicit Model(QObject *parent = nullptr);
Model(const Model &other);
~Model();
bool operator!=(Model &other);
Model operator=(Model &other);
QDataStream operator<<(const Model&);
Model operator>>(const QDataStream);
signals:
public slots:
public:
QString text1;
QString text2;
};
Q_DECLARE_METATYPE(Model)
Мой файл ответов выглядит так:
#include "../model/Model.h"
class Remote {
PROP(Model resultModel);
SLOT(void resultModelChanged_slot(Model resultModel));
};
Когда я пытаюсь построить приложение, я получаю следующую ошибку:
error: no match for ‘operator<<’ (operand types are ‘QDataStream’ and ‘const Model’)
stream << *static_cast<const T*>(t);
Кто-нибудь знает о каком-нибудь сложном примере QtRemoteObject?Пример, который я нашел, довольно прост и работает (https://doc.qt.io/qt-5.10/qtremoteobjects-gettingstarted.html), но я не нашел пример со сложными (пользовательскими) типами.
В документации по rpc я читал, что поддерживаются customTypes (https://doc.qt.io/qt-5.10/qtremoteobjects-repc.html)
Было бы здорово, если бы у кого-то была идея по этому вопросу ...
Спасибо