|
|
1
4
这并不容易:出于安全考虑,Web浏览器是堡垒。所以很难从网页中的JS找到浏览器之外的东西。
因此,您需要修补并编写大量代码来实现缺失的API和函数。 自从Qt4.6发布以来,有QWebElement( see the docs 例如),因此您至少可以访问并修改DOM。这将使很多事情变得更简单。我建议决定谁控制浏览器:你的应用程序是JavaScript,它调用外部还是应用程序真的在C++中使用浏览器作为智能UI渲染器? 一个更简单的方法可能是让你的想法生效,当你的应用程序启动时启动一个内部Web服务器,然后打开指向本地服务器URL的qtWebkit视图。然后,您可以使用所有标准的Web开发工具。Eclipse将此技术用于其内部帮助系统。 |
|
|
2
3
我从不同的部分复制/粘贴比特,但这是我如何插入一个可供javascript使用的对象,然后我使用javascript与主应用程序交谈。似乎工作得很好…
这使得
|
|
|
3
2
|
|
|
4
2
对于基本用法, examples 从Trolltech开始。 qt方法的另一个好处是,向脚本公开对象相对容易,请参见例如。 here . 在不同的嵌入式WebKITS中,JavaScript可以轻松地与C++通信(当然,如果在C++方面提供支持,则在其他窗口中使用脚本)。缺点是API看起来不太稳定,似乎缺少支持将事件侦听器从JavaScript添加到C++对象(或者至少我没有看到它应该如何完成)的支持。
将自定义绘制的元素放到页面中同样非常简单,您可以将插件嵌入到页面中(例如,通过
重要的是要始终牢记:对嵌入式WebKit(例如用于评估javascript)的调用应该始终发生在主线程上。 |
|
|
Wolfspirit · 你如何确定一个时间点是否在一个时间段内? 1 年前 |
|
|
h-swell · QT——如何使用布局类? 2 年前 |
|
|
LeftFrog · Qt中macOS上的按钮颜色不变 2 年前 |
|
|
Bobby · Qt是否与RAII设计模式不兼容? 2 年前 |
|
|
Harvey · 如何更改Qt Creator配置项目的默认套件? 2 年前 |