【问题标题】:connect function error QT 5连接函数错误 QT 5
【发布时间】:2018-02-09 12:57:22
【问题描述】:

我在qt中的connect函数有问题,我是初学者。 这是我的功能

connect( this->page(), &QWebEngineView::loadFinished(), this, OnPopulateJavaScriptObjects() );

我有一个 WebView 类,在其中声明和实现了 void OnPopulateJavaScriptObjects .. 一个文件中的所有函数。所以当我试图调用这个函数时,我得到了这个错误

/home/poker/QTwrapper/main.cpp:40: error: no matching function for call to ‘WebView::loadFinished()’
         connect( this->page(), &QWebEngineView::loadFinished(), this, OnPopulateJavaScriptObjects() );                                                             

等等... 所以我知道我在这里有很多错误......谁能帮助我解释我的错误以及运行这段代码的最佳解决方案是什么。

当我写connect(this->page(), &QWebEngineView::loadFinished, this, OnPopulateJavaScriptObjects());我得到了

/home/poker/QTwrapper/main.cpp:40: error: invalid use of void expression connect( this->page(), &QWebEngineView::loadFinished, this, OnPopulateJavaScriptObjects() ); 

【问题讨论】:

    标签: c++ qt c++11 qt5


    【解决方案1】:

    替换

    connect( this->page(), &QWebEngineView::loadFinished(), this, OnPopulateJavaScriptObjects() );
    

    connect( this->page(), &QWebEngineView::loadFinished, this, &OnPopulateJavaScriptObjects );
    

    使用() 调用方法。当你想要它的地址时,一定要打电话给它。

    【讨论】:

    • 您的 SLOT 仍有错误
    • 我知道但我不明白它是什么,请你解释一下,我已经尝试解决这个问题 2 天((
    • 我给你写了一个解决方案。您可能还需要在信号中包含类名。类似于:&MyClass::OnPopulateJavaScriptObjects
    • WebView 网页; web.connect(web.page(), &QWebEngineView::loadFinished, web, &WebView::OnPopulateJavaScriptObjects);这给了我这个错误/home/poker/QTwrapper/main.cpp:146:错误:没有匹配函数调用'WebView::connect(QWebEnginePage*, void (QWebEngineView::*)(bool), WebView&, void ( WebView::*)())' web.connect( web.page(), &QWebEngineView::loadFinished, web, &WebView::OnPopulateJavaScriptObjects ); ^
    • OnPopulateJavaScriptObjects 写在 WebView 类中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2016-03-23
    • 1970-01-01
    相关资源
    最近更新 更多