2016-08-16 53 views
0

可以說,我有兩個qwebview部件.lets稱之爲W1和W2,然後我和如何複製qwebkit中的網頁?

W1->setUrl("someUrlHere");. 

兩個頁面都具有獨立的css文件中設定的網址。

然後我會改在W1一些元素的背景

.setStyleProperty("background-color",qColor(255,0,0)); 

所有好爲止和背景變爲紅色。

現在我想用w1替換w2中的頁面(不使用.seturl),包括w1的樣式表。然後,我希望能夠在不影響其他每種顏色的情況下更改顏色

我試過.toHtml().sethtml(),但這隻會複製html(當然),因此w1中的所有樣式都會丟失。

也試過很多其他方法,包括.setpage.clone等等... 但它似乎只改變HTML,或將其更改指針給它,(所以如果我做的改動W1它只會影響W2和w1不能再被觸摸了。)

這樣做可以嗎?另外,是否可以做到這一點,而不需要每個小部件?

回答

0

我不知道這個線程是否仍然活動,但是在尋找我遇到的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 

希望這有助於

+0

嗨,感謝您的回答,但使用'toHtml()'似乎只採取HTML,而不是任何風格。 – LxNol