找回密码
 立即注册
12
返回列表 发新帖
收起左侧
楼主: Joey_Chan

QML经验谈(一)QML和C++的相互调用

37
回复
29282
查看
[复制链接]

尚未签到

2014-3-14 13:47:10 显示全部楼层
xxqt 发表于 2014-3-14 09:33
我现在改了下,当串口读到数据就发射一个信号,通知qml显示数据,发射信号是这样的:QString mycom::read ...

我在main。cpp里这样映射了 mycom *mycom1= new mycom();
    QtQuick2ApplicationViewer viewer;
    viewer.setMainQmlFile(QStringLiteral("qml/qmlc/main.qml"));
  //  viewer.engine()->rootContext()->setContextProperty("test", test);  // 将新的类映射为QML的一个对象

   viewer.engine()->rootContext()->setContextProperty("mycom1", mycom1);
    viewer.showExpanded();

    return app.exec();

可是在qml提示说ReferenceError: mycom1 is not defined
这是怎么回事啊
回复 支持 反对

使用道具 举报

尚未签到

2014-3-14 22:53:46 显示全部楼层
xxqt 发表于 2014-3-14 13:47
我在main。cpp里这样映射了 mycom *mycom1= new mycom();
    QtQuick2ApplicationViewer viewer;
    vi ...

重新清理再运行试试看?
回复 支持 反对

使用道具 举报

尚未签到

2014-3-25 15:12:09 显示全部楼层
c++侧,摄像头读取到的图像如何映射到qml里去啊??
回复 支持 反对

使用道具 举报

尚未签到

2014-3-25 16:00:22 显示全部楼层
xxqt 发表于 2014-3-25 15:12
c++侧,摄像头读取到的图像如何映射到qml里去啊??

一种很笨的方法是写进本地文件,让qml去读。

另一种高级一点的方法是用QQuickImageProvider,文档里面有例子
回复 支持 反对

使用道具 举报

尚未签到

2014-4-14 15:12:11 显示全部楼层
好文章               
回复 支持 反对

使用道具 举报

累计签到:6 天
连续签到:1 天
2014-6-5 11:51:00 显示全部楼层
xxqt 发表于 2014-3-14 13:47
我在main。cpp里这样映射了 mycom *mycom1= new mycom();
    QtQuick2ApplicationViewer viewer;
    vi ...

QML中的 Connections 在使用target 时,指定的mycomm1必须已经导出到 QML 上下文中。
所以,你的setContextProperty()调用,应该放在 setMainQmlFile() 之前。

点评

恩,就是这样。  发表于 2014-11-11 09:53
回复 支持 反对

使用道具 举报

累计签到:97 天
连续签到:1 天
2015-4-13 08:38:40 显示全部楼层
希望大神多写点QML的基础教程
回复 支持 反对

使用道具 举报

尚未签到

2015-4-13 09:32:32 显示全部楼层
kmxtye 发表于 2015-4-13 08:38
希望大神多写点QML的基础教程

外面基础教程很多啊。。 我只写一些技巧而已
回复 支持 反对

使用道具 举报

累计签到:97 天
连续签到:1 天
2015-4-13 09:36:27 显示全部楼层
Joey_Chan 发表于 2015-4-13 09:32
外面基础教程很多啊。。 我只写一些技巧而已

咱论坛里有qml的基础教程?
我咋一直没翻到
只翻到几篇你写的文章
回复 支持 反对

使用道具 举报

尚未签到

2015-4-13 17:08:06 显示全部楼层
kmxtye 发表于 2015-4-13 09:36
咱论坛里有qml的基础教程?
我咋一直没翻到
只翻到几篇你写的文章

我也才发现。。以前站长写的那些好像都不见了。。。。。。。

http://www.qter.org/forum.php?mod=viewthread&tid=2724  看这个贴子咯

或者看看qt自带的例子也可以的,那些都写的不错
回复 支持 反对

使用道具 举报

累计签到:97 天
连续签到:1 天
2015-4-13 17:12:44 显示全部楼层
Joey_Chan 发表于 2015-4-13 17:08
我也才发现。。以前站长写的那些好像都不见了。。。。。。。

http://www.qter.org/forum.php?mod=viewth ...

谢哈,我刚发了一个菜鸟贴
大神帮我看一下
今天在做qml实验时碰到的,在提问区
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2017-5-4 10:28:34 显示全部楼层
建议楼主,在发文章时,把所用环境简略的讲一下。#include "qtquick2applicationviewer.h",像这个头文件,就找不到,费了好大劲儿才找到替代。我用的是Qt5.7
回复 支持 反对

使用道具 举报

尚未签到

2017-5-4 22:07:48 显示全部楼层
Vairsly 发表于 2017-5-4 10:28
建议楼主,在发文章时,把所用环境简略的讲一下。#include "qtquick2applicationviewer.h",像这个头文 ...

这个你说对了,我那时好像还是5.1还是5.2时候,这个东西只是个模板,现在没有了。

用qquickview或qmlengine是一样的
回复 支持 反对

使用道具 举报

累计签到:50 天
连续签到:1 天
2018-9-8 15:14:37 显示全部楼层
伙计们, 我的么有QtQuick2applicationViewer 啊  ,  我的只有  QQmlApplicationEngine 啊   ?   这是怎么个情况呀    ,  也没有建立出#include "qtquick2applicationviewer.h"文件呢?
回复 支持 反对

使用道具 举报

累计签到:50 天
连续签到:1 天
2018-9-8 15:16:12 显示全部楼层
我该怎样运行这个代码才能运行  ,没有那样的头文件,和那样的类,我该如何运行这个程序 ?
回复 支持 反对

使用道具 举报

尚未签到

2018-9-9 21:23:24 显示全部楼层
tan 发表于 2018-9-8 15:16
我该怎样运行这个代码才能运行  ,没有那样的头文件,和那样的类,我该如何运行这个程序 ?  ...

有qquickview或qqmlengine就行
回复 支持 反对

使用道具 举报

累计签到:25 天
连续签到:1 天
2019-3-11 10:17:22 显示全部楼层
刚刚学习QML,感谢分享知识。
回复 支持 反对

使用道具 举报

累计签到:27 天
连续签到:1 天
2019-3-13 19:21:59 显示全部楼层
想写个文字类RPG游戏,用QML好还是QWidget好呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了