我正在开发基于Qt5的webview应用程序,我需要在webview内部使特定的颜色透明或有一个alpha通道。例如,网页,加载到webview,可能有一个背景色的全屏div(黑色在大多数情况下,但可能是另一种颜色)。我需要使这个颜色(与webview本身)是半透明的。应用程序表单上的所有其他元素都应该通过这个webview可见。
我想我理解你的问题,你想让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>
<head>
body {
background-color: rgba(255, 0, 0, 0.2);//Edit "0.2" to obtain the opacity needed.
}
</head>
<body>
Something...
</body>
</html>