Como eu faço um WebView transparente?

4

Considere o seguinte snippet QML:

Page {
    WebView {
        id: webView
        anchors.fill: parent
    }
}

Eu, então, tento carregar alguns HTML no WebView usando o seguinte JavaScript:

webView.loadHtml('<b>test</b>');

No entanto, o WebView tem um fundo branco:

(Ignore o fato de que o texto é muito pequeno).

Existe uma maneira de tornar o plano de fundo transparente?

    
por Nathan Osman 17.03.2014 / 07:51

1 resposta

5

Você pode experimentar o QtWebKit.experimental. Se você adicionar import QtWebKit.experimental 1.0 aos seus arquivos QML, seus objetos WebView terão acesso aos atributos experimentais:

import QtQuick 2.0
import QtWebKit.experimental 1.0
import Ubuntu.Components 0.1


MainView {
    id: main
    width: units.gu(100)
    height: units.gu(75)

    Page {
        id: mypage
        Rectangle {
            color: "green"
            anchors.fill: mypage
            WebView {
                id: webView
                anchors.fill: parent
                experimental.transparentBackground: true
            }
        }

        Component.onCompleted: webView.loadHtml("<p>Hello</p>");
    }
}

Obviamente, você receberá este tipo de aviso:

  

AVISO: a API experimental mudará de versão para versão ou   até mesmo ser removido. Você foi avisado!

    
por Sylvain Pineau 17.03.2014 / 11:36