Evitar que os componentes se tornem transparentes em uma janela qml

1

Aqui está o código para uma janela transparente e sem moldura no qml:

import QtQuick 2.2
import QtQuick.Window 2.1
import Ubuntu.Components 0.1

Window {
    MouseArea {
        anchors.fill: parent

        // move window on drag
        property real lastMouseX: 0
        property real lastMouseY: 0
        onPressed: {
          lastMouseX = mouseX
          lastMouseY = mouseY
        }
        onMouseXChanged: window1.x += (mouseX - lastMouseX)
        onMouseYChanged: window1.y += (mouseY - lastMouseY)

    }

    id: window1
    title: "transparent"
    height: 200
    width: 400
//    flags: Qt.FramelessWindowHint
    flags: Qt.Popup
    color: '#efeded'
    opacity: 0.3

    x: (Screen.width / 2) - (window1.width / 2)
    y: (Screen.height / 2) - (window1.height / 2)

    Text {
        id: text1
        text: "Hello World"
        font.bold: true
        style: Text.Raised
        font.pointSize: 24
        color: "black"
        anchors.horizontalCenter: parent.horizontalCenter
        y: 40
    }

    Button {
        id: button1
        text: "close"
        anchors.left: parent.left
        anchors.leftMargin: 0
        anchors.right: parent.right
        anchors.rightMargin: 0
        y: 160

        onClicked: {
            window1.close()
        }
    }

}

O resultado:

Então, é possível impedir que o botão e o texto se tornem transparentes?

Apenas o plano de fundo da janela deve ser transparente.

    
por TuKsn 05.08.2014 / 12:42

1 resposta

0

Remova a "opacidade" e use cores semitransparentes:

  color: Qt.rgba(0.239, 0.237, 0.237, 0.3)

link

Obrigado pela dica link

    
por TuKsn 05.08.2014 / 16:31