QWebView的多个实例(qt jambi)

时间:2009-12-04 14:47:27

标签: multithreading qwebview

美好的一天, 如何在线程中使用QWebView方法load()? 我在main(!)线程中创建了QWebView,但我不能将load()与QWebView一起使用(使用其他线程的信号/槽来完成):

QWebView wv = new QWebView(); //好 QUrl url = new QUrl(“http://somesite.com/”); //好 wv.load(URL); //错误:QObject:无法为不同线程中的父级创建子级。

在c ++中它起作用。拜托,帮助我!

P.S。抱歉我的英文

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但对于其他感兴趣的人来说,问题是在不同的线程上创建孩子。要编组回到拥有的线程,请执行以下操作:

public void loadURL(String url) {  
    QApplication.invokeLater(new LoadURL(url));
}

private class LoadURL implements Runnable {
    private String url;
    public LoadURL(String url) {
        this.url = url;
    }
    public void run() {
        QNetworkRequest nreq = new QNetworkRequest(new QUrl(this.url));
        load(nreq);
    }
}