在qt5 webview透明中设置特定颜色

时间:2014-07-15 21:45:02

标签: qt5 transparent qwebview chromakey

我正在开发基于webview的Qt5应用程序,我需要在webview中使特定颜色透明或具有alpha通道。 例如,加载到webview中的网页可能具有带有背景颜色的全屏div(在大多数情况下为黑色,但可能是另一种颜色)。我需要使这种颜色(与webview本身)半透明。申请表上的所有其他元素都应通过此webview查看。

1 个答案:

答案 0 :(得分:1)

我想我理解你的问题,你想让WebView具有半透明背景(或其他东西)。

您可以尝试删除webview的背景,使用它(来源:https://gist.github.com/anonymous/103126):

QPalette palette = ui->webView->palette(); //Get webView palette
palette.setBrush(QPalette::Base, Qt::transparent);
ui->webView->page()->setPalette(palette); //Set transparent palette
ui->webView->setAttribute(Qt::WA_OpaquePaintEvent, false);//Remove opaque

在你的css文件(进入html)中,使用:

<html>
<head>
body {
   background-color: rgba(255, 0, 0, 0.2);//Edit "0.2" to obtain the opacity needed.
}
</head>
<body>
Something...
</body>
</html>