EasyChat开发笔记(二)

c++端将好友消息发送给QML端的问题:

创建了一个新类Conversation,发信人和消息列表(QStringList)为属性。

用QList存储不同好友发送过来的消息,再用QQmllistproperty注册过去,但是qml端读取该属性时始终为空,读不到任何东西。(视频播放器里获取电影信息就可以,这个就不行,之前获取好友列表也想用这个方法,同样失败。最后改用QStringList。搞不懂。。。)

改用将Conversation转换成QVariant,再用QVector注册;跳过QQmllistproperty参见以下两个博客:
https://www.cnblogs.com/liushui-sky/p/6560286.html
http://qtdebug.com/qtbook-misc-qvariant/

转换成功以后Conversation的默认构造和析构函数就有问题,只能声明成指针,且无法赋值。
故这个方法也行不通。

最后选择用函数调用的方法。
在这里插入图片描述
在这里插入图片描述先将获取到的好友消息存到vector,并发送收到好友消息的信息给qml,qml调用函数将vector好友的名字读出来存入conversationlist,qml端就能读到有多少好友发送消息。选中好友后,qml调用函数获取该好友发送的信息,该函数需要好友的名字作为参数。这样好友发送的信息就都能获取到啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值