web-dev-qa-db-fra.com

Comment rendre une WebView transparente?

Considérez l'extrait QML suivant:

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

Je tente ensuite de charger du code HTML dans WebView à l'aide du code JavaScript suivant:

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

Cependant, WebView a un fond blanc:

enter image description here

(Ignorez le fait que le texte est trop petit.)

Est-il possible de rendre l'arrière-plan transparent?

4
Nathan Osman

Vous pouvez essayer QtWebKit.experimental. Si vous ajoutez import QtWebKit.experimental 1.0 à vos fichiers QML, vos objets WebView auront accès à des attributs expérimentaux:

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>");
    }
}

Évidemment, vous aurez ce genre d'avertissement:

AVERTISSEMENT: L'API expérimentale changera de version en version, voire sera supprimée. Tu étais prévenu!

5
Sylvain Pineau