带有Qt5的透明QWebView



我们曾经使用技巧 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");

相关内容

  • 没有找到相关文章

最新更新