Qt RemoteObjects
Qt RemoteObjects
本文关键字:RemoteObjects Qt 更新时间:2023-10-16
我尝试使用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 的文档中,我读到支持自定义类型 (https://doc.qt.io/qt-5.10/qtremoteobjects-repc.html(
如果有人对这个问题有想法,那就太棒了......
谢谢
它必须在全局范围内声明,在类之外:
QDataStream &operator<<(QDataStream &stream, const Model&);
小心返回值,operator <<
必须返回与第一个参数相同的stream
,即通过引用。
里面的类应该声明一个友元函数:
friend QDataStream &operator<<(QDataStream &stream, const Model&);
相关文章:
- Qt VTK交互风格的信号到小部件
- QT在错误的班级中寻找空位
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 如何在Qt C++中更改光标
- 如何在MS Visual Studio 2019中运行QT UI
- QT通过C++添加映射QML项目
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用Qt C++计算类似Git的SHA1哈希
- Qt focusObjectChanged example?
- 如何在cpp文件之间切换窗口?在Qt中
- Qt和C++:将QLineEdit添加到QTabWidget中
- 从数据库实时显示QT c++中的数据
- Qt Quick-如何仅从c++代码与qml属性交互
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 如何在Qt中取消捕获字符串
- Qt SQLite没有查询或参数计数不匹配
- Qt RemoteObjects