我们曾经使用技巧 https://www.qt.io/blog/2009/06/30/transparent-qwebview-or-qwebpage 使QwebView在Qt4中透明,如下所示,但相同的代码在Qt 5.2中为我们提供了空白背景。有什么方法可以让Qt5工作吗?
setAttribute(Qt::WA_TranslucentBackground, true);
setWindowFlags(Qt::FramelessWindowHint | Qt::Tool);
if(m_pWebView)
{
QPalette palette = m_pWebView->palette();
palette.setBrush(QPalette::Base, Qt::transparent);
m_pWebView->page()->setPalette(palette);
m_pWebView->setAttribute(Qt::WA_OpaquePaintEvent, false);
m_pWebView->setContextMenuPolicy(Qt::NoContextMenu);
}
以下两行在 QT5.4 下对我有用
setAttribute(Qt::WA_TranslucentBackground);
setStyleSheet("background:transparent");