假设我有两个名为W1和W2的qwebview小部件,然后我用
W1->setUrl("someUrlHere");. 这两个页面都有单独的css文件。
然后,我将使用以下命令更改w1中某些元素的背景
.setStyleProperty("background-color",qColor(255,0,0));到目前为止一切正常,背景变成了红色。
现在,我希望将w2中的页面替换为w1 (不使用.seturl),包括w1的样式表。然后我希望能够在不影响另一个的情况下改变它们的颜色
我尝试过.toHtml()和.sethtml(),但这只会复制html (当然),因此w1中的所有样式都会丢失。
我也尝试了许多其他的方法,包括.setpage,.clone等。但它似乎只改变了html,或者改变了指向它的指针(所以如果我对w1做了改变,它只会影响w2,并且w1不能再被触摸了,等等)。
有可能做到这一点吗?另外,有没有可能在不需要每个小部件的情况下做到这一点呢?
发布于 2016-08-16 14:06:01
我不知道这个线程是否仍然活跃,但是我在寻找我所面临的一个QtWebkit问题的答案时偶然发现了它。不管怎样..。
void QNAMProxy::HandleFinished( QNetworkReply* reply ) {
if( reply->error( )) {
// Something went wrong
} else {
QUrl url = reply->url( );
//TODO Parse the URL to create your local path
QFile file( "Parsed local file name" );
if (!file.open(QIODevice::WriteOnly)) {
// Some problem with creating the file to write
} else {
file.write( reply->readAll( ));
file.close( );
}
}
}如果要将页面另存为html
webPage->currentFrame()->toHtml() => QString希望这能有所帮助
https://stackoverflow.com/questions/38967612
复制相似问题