2011-06-22 53 views

回答

0

使用html表示QWebView只是QWebPage的一個容器,您可以在該頁面的html代碼中設置所需的全部內容。

+0

感謝您的答覆,但它不是我想要的。例如:我希望在將某些文本加載到Qwebview時,文本將使用我的顏色進行顯示,並將顯示在我的背景上。 –

0

使用QWidget::setPalette()來設置您自己的QPalette。有了這個,你可以爲每個角色自由選擇顏色。

要有一個圖像作爲背景,你將不得不從QWebView派生自己的類,並覆蓋paintEvent()我認爲。

+1

'QPalette p = ui-> webView-> palette(); QPixmap pixmap1(「D:/duc2.jpg」); QRect rect = ui-> webView-> rect(); QSize size(rect.width(),rect.height()); QPixmap pixmap(pixmap1.scaled(size)); p.setBrush(QPalette :: Background,pixmap); ui-> webView-> setPalette(p);'這是我設置webview背景的代碼,但是我沒有在webview上看到我的背景圖片。有什麼不對 ? –

+0

看起來可能有效。你在別的地方還用過setBackgroundRole()嗎?雖然我認爲它應該仍然有效:QPalette :: Background已被棄用,QPalette :: Window是它的新枚舉。 – Steffen

+0

'ui-> webView-> setBackgroundRole(QPalette :: Window);'我使用了setBackgroundRole()方法。我也修改它'ui-> webView-> setBackgroundRole(QPalette :: Background);'但它沒有工作。我能做些什麼來解決這個問題? –

0

使用setHtml功能

QString htmlhead = "<head><style>body {\n background-color: #eee;\nbackground-image: url("+QUrl("qrc:/new/prefix1/back.png").toString()+");"; 
ui->webView->setHtml(htmlhead);