在PyQt5对象中访问JavaScript的核心代码如下:
QWebEnginePage.runJavaScript(str,Callable);
可以看到,传递参数只能是字符串类型。
所以我们可以采用在Pyqt端列表转字符串,在JavaScript端字符串转列表的方式。
如想要传递的列表为:
obj=[["hello","world"],["banni"],["hahaha","!"]]
PyQt端代码为:
for i in range(len(obj)):
obj[i]="+".join(obj[i])
obj=",".join(obj)
调用JavaScript的代码为:
p="function(\"{}\");".format(obj);
QWebEnginePage.runJavaScript(obj);
在JavaScript端获得字符串对象obj后:
使用split方法,参考网址
var obj=obj.split(",");
for(var i=0;i<obj.length;i++){
obj[i]=obj[i].split("+");
}