2013-10-23 148 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

是的,下一个里程碑将是在后台激活窗口,如果我点击透明区域。 :-) –