如何在QML中集成Javascript库(socketio)
How can I integrate Javascript library (socketio) in QML?
在C++socketio库失败后,我正在尝试使用QT的QML中的JavaScript库。我将客户端从 https://cdn.socket.io/socket.io-1.4.5.js 复制到socketio145.js
.
当我这样导入它时:
.import "socketio145.js" as IO;
运行:
socket = IO.io();
失败,socketio145.js
的第 3 行出现错误"[error stack]Expected token :''n"
。这是一些不符合qml的javascript代码还是其他事情?我迷路了。
我做了一些解决问题的东西。我对此没有任何运气。我尝试将 SocketIO 的C++库编译到我的项目中,尝试包含 JS。但是没有任何效果,图书馆只是困惑。
所以我拿了Qt QWebSocket,把它包裹在一件温暖而模糊的外套里,在qml中看起来和工作,与SocketIO在Javascript中的工作方式非常相似。
https://github.com/Dimcon/ParthanonsQWebSocketIO
它适用于桌面和Android,您所要做的就是将parthanonsQWebSocket.h文件复制到您的项目中,然后将该类添加到QML中。有关自述文件的更多详细信息。
我希望这能帮助你们摆脱像我一样在这个问题上挣扎:( :)
我没有你所指的JS库的任何细节,但这里有在QML中使用自己的JS代码的方法。1. 将 JS 文件放入这样的资源文件中
<qresource prefix="/js">
<file alias="DataManager.js">qml/js/DataManager.js</file>
</qresource>
在 QML 文件中使用以下导入
导入 "qrc:/js/DataManager.js" 作为 DataManager
并使用如下所示的JS:
Item { id : win visible: true width: 640*2 height: 480*1.5 property var constellationManager; Component.onCompleted: { win.constellationManager = new ConstellationDataManager.ConstellationDataManager(); }
}
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在Javascript中将JSon对象转换为数组
- Javascript生成的表单未提交
- 如何在QML中集成Javascript库(socketio)
- socketio javascript confusion