PYQT5中QWebEngineView与JS交互时的数据类型问题?

PYQT5中QWebEngineView与JS交互时的数据类型问题?

channel.registerObject("sharer", main_window.sharer)

main_window.sharer 对象有一个名为 attrs 的 pyqtproperty,数据类型为列表,初始值为 [1, 2, 3]

在 JS 端,访问 sharer.attrs,得到 [1, 2, 3] 没有问题

在 JS 端设置 sharer.attrs = new Array(8, 9),但在 QT 端访问 main_window.sharer.attrs 得到的却是 [8.0, 9.0],这个反序列化是怎么回事,如何才能让它保持整数的类型?

而通过下面的方式却可以得到正确的类型:

self.browser.page().runJavaScript("sharer.attrs", lambda e: print(e, self.sharer.attrs))

out: [9, 8] [9.0, 8.0]

谁能帮忙解释一下吗?

以上是 PYQT5中QWebEngineView与JS交互时的数据类型问题? 的全部内容, 来源链接: utcz.com/a/159496.html

回到顶部