前一阵 与c++ 交互 发现qt写页面实在太丑 于是便使用qwebchannel.js 与c++ 进行交互 发现使用起来还不错
下面 看看qwebchannel的用法
首先 新建一个qwebchannel的对象
new QWebChannel(qt.webChannelTransport, function(channel) {})
在webchannnel里面进行输入与书写
var content = channel.objects.content;
上面就是最关键的一步,所有的请求 都要基于这一步来进行,下面就是传递了 qt都需要有一个请求接口 还需要有一个回复接口
写一个最简单的登录吧
content.requestlogin(username,password);
content.replaylogin.connect(function(data){
alart(data)
})
解释一下 上面的那个是请求 括号内的 类似于ajax的传递的参数,这里传递的是用户名和密码。下面的是返回接口,类似于ajax中的success
data 就是返回回来的数据 但是这里请注意 返回回什么,是c++ 定义好的 不是自己随意写的。
下面列举几个注意事项:
-
webchancel.js 基于webscoket 所以一个页面 只能新建一个new QWebChannel
-
connect代表链接 所以为了防止多次链接 请把所有connect 放到一起启动 需要调用的地方 调用请求接口 这样就能自动回复了。
-
这个插件和SPA 开发模式不友好,所以就别和spa一起用了