QT Webkit 多线程执行 javascript 崩溃问题

来源:互联网 发布:js一次取几个数组元素 编辑:程序博客网 时间:2024/04/19 21:09


QTWebkit 做的界面,点击按钮后因为操作比较耗时,起了一个线程在后台操作,操作完成通过调用JS来操作界面


发现一调用 evaluateJavaScript 就崩溃


查资料得知 evaluateJavaScript 比需和界面在同一线程,否则会主动触发崩溃




因为操作耗时,必须放在线程里,怎么办呢


使用QT里的信号&槽解决






在 使用 connect 连接信号 和 槽 的时候最后一个参数可以指定连接的类型,其中 QueuedConnection、BlockingQueuedConnection、UniqueConnection 可以使得操作在 receiver 里执行


这里在设置一个信号和槽,要执行 evaluateJavaScript 时 emit信号执可达到在主线程执行的目的


0 0
原创粉丝点击