带Qt5的透明QWebView

时间:2014-01-08 10:29:15

标签: qt webkit qt5 transparent qtwebkit

我们曾经使用技巧http://blog.qt.digia.com/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);
}

1 个答案:

答案 0 :(得分:2)

以下两行在QT5.4下为我工作

setAttribute(Qt::WA_TranslucentBackground);
setStyleSheet("background:transparent");