首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用QWebEnginePage::OpenLinkInNewTab [Qt5.8]

如何使用QWebEnginePage::OpenLinkInNewTab [Qt5.8]
EN

Stack Overflow用户
提问于 2017-03-29 20:16:50
回答 1查看 303关注 0票数 1

当我使用这段代码点击到Quora上任何问题的链接时,这个链接不会打开,但是它不会打印"Hello“。你能告诉我哪里错了吗?我很确定quora上的链接会发出OpenLinkInNewTab信号。帮帮忙,谢谢。

代码语言:javascript
复制
class WebView : public QObject {
    void newTabRequested() {
        std::cout<<"Hello"<<std::endl;
    }

public:
    char* home_page;
    QAction* newTabAction=new QAction();
    QWebEngineView* view=new QWebEngineView();

    WebView(char* page=(char*)"https://google.com") {
        this->home_page=page;
        this->exitFullScreen->setShortcut(Qt::Key_Escape);

        createWebView();

        this->view->settings()
            ->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows,true);

        this->newTabAction=this->view->pageAction(QWebEnginePage::OpenLinkInNewTab);

        connect(this->newTabAction,&QAction::toggled,this,&WebView::newTabRequested);
    }

    void createWebView() {
        this->view->load(QUrl(this->home_page));
    }
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-29 20:36:34

我认为问题在于,newTabRequested不是一个插槽。试一试

代码语言:javascript
复制
class WebView : public QObject{
    Q_OBJECT

private slots:
    void newTabRequested(){
        std::cout<<"Hello"<<std::endl;
    }

    // ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43103327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档