为QWebView设置透明背景

时间:2013-10-23 18:49:51

标签: c++ html css qt

我正在尝试将透明背景设置为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

我搜索了如何设置webview的透明背景,我在所有地方都找到了这段代码:

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

上面的代码无法正常运行。这就是我的窗口看起来的样子:

  

     

所以,问题是灰色部分必须是透明的。我该如何解决这个问题?

我使用以下代码来解开窗口。

view->setWindowFlags(Qt::FramelessWindowHint);

1 个答案:

答案 0 :(得分:5)

这对我有用:

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