我正在尝试将透明背景设置为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);
答案 0 :(得分:5)
这对我有用:
view->setStyleSheet("background:transparent");
view->setAttribute(Qt::WA_TranslucentBackground);