2013-10-23 140 views
4

我試圖將透明背景設置爲QWebView元素。爲QWebView設置透明背景

+---------------------------+ 
| x | Window title   | <<< Hidden borders and title bar 
+---------------------------+  view->setWindowFlags(Qt::FramelessWindowHint); 
|       | 
|  ****************** | 
| ********************<--|------- This is the HTML side (a rectangle with 
|  ****************** |  rounded corners) 
|       <-|-- with transparent background that must 
+---------------------------+ remain transparent for the desktop window 

我搜索我如何可以設置web視圖的透明背景,我發現所有的地方驗證碼:

QPalette pal = view->palette(); 
pal.setBrush(QPalette::Base, Qt::transparent); 
view->page()->setPalette(pal); 
view->setAttribute(Qt::WA_OpaquePaintEvent, false); 

上面的代碼不能正常工作。這是我的窗口不會怎麼看:

所以,問題是,灰色部分必須是透明的。我該如何解決這個問題?

我使用下面的代碼來展開窗口。

view->setWindowFlags(Qt::FramelessWindowHint); 

回答

4

這個工作對我來說:

view->setStyleSheet("background:transparent"); 
view->setAttribute(Qt::WA_TranslucentBackground); 
+0

這是偉大的!它運作良好。謝謝。 –

+0

我很高興它幫助:) – Davlog

+0

是的,下一個里程碑將是在後臺激活窗口,如果我點擊透明區域。 :-) –