您好,我如何在线程中通过load()方法使用QWebView?我已经在main(!)中创建了QWebView线程,但我不能对QWebView使用load() (使用来自其他线程的信号/槽来完成):
QWebView wv = new QWebView();//ok QUrl url = new QUrl("http://somesite.com/");//ok wv.load(url);//错误: QObject:无法为其他线程中的父级创建子对象。
在c++中,它是有效的。求求你救救我!
附注:对不起,我的英语
发布于 2010-11-30 12:34:05
我知道这是一个老问题,但对于其他感兴趣的人来说,问题是在不同的线程上创建子对象。要封送回所拥有的线程,请执行类似以下操作:
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);
}
}https://stackoverflow.com/questions/1847401
复制相似问题