小编jan*_*jan的帖子

使用QWebChannel时未定义的属性和返回类型

基于QT QWebEnginePage :: setWebChannel()传输对象Qt:无法从javascript调用共享对象方法/属性我试图制作一个小型演示来测试功能.请参阅下面的基本测试代码.我的问题是:

  • 在新的QWebChannel的javascript构建过程中,Qt控制台中有很多关于"对象"的"属性"?''的打印?没有通知信号且不是常量,HTML中的值更新将被破坏!".这是什么,我该如何解决?
  • 尝试从javascript端检索它们时,所有C++对象属性都是未定义的...通过Webchannel检索属性的正确方法是什么?
  • 来自C++函数的所有返回值都返回为未定义...在javascript中接收C++返回值的正确方法是什么?

.pro文件

QT        += core gui
QT        += network webenginewidgets webchannel widgets
TARGET    = hfbTestWebChannel
TEMPLATE  = app
SOURCES   += hfbTestWebChannel.cpp
RESOURCES += hfbTestWebChannel.qrc
Run Code Online (Sandbox Code Playgroud)

.html文件

<html>
<body>

<script type="text/javascript" src="qrc:///qtwebchannel/qwebchannel.js"></script>
<script type="text/javascript">

var theQtObj;

function buttonA()
{
        PrintLog("Button A:init")
        if (typeof qt !== "undefined")
        {
            new QWebChannel(qt.webChannelTransport, function(channel)
            {
                theQtObj = channel.objects.theQtObj;
                PrintLog(" done, now theQtObj=" + theQtObj.toString());
            });

        }
        else
            PrintLog("!!!qt undefined!!!" );
}

function buttonB()
{
        PrintLog("Button B …
Run Code Online (Sandbox Code Playgroud)

javascript c++ qt

8
推荐指数
2
解决办法
2631
查看次数

标签 统计

c++ ×1

javascript ×1

qt ×1