QML:使用“材质样式”,按钮在图像上变得透明

时间:2018-07-01 13:43:13

标签: qt qml

我希望我的应用程序将图像用作背景。所以我使用这段代码:

在我的ApplicationWindow中:

Image {
    id: bkgImage
    source: "qrc:/images/bkg.jpg"
    anchors.centerIn: parent
}

添加按钮

Button {
    id: btnAsistencia
    text: qsTr("ASISTENCIA")
    font.pixelSize: fhButttonTextSize
    anchors.horizontalCenter: parent.horizontalCenter
    anchors.top: btnInscripcion.bottom
    anchors.topMargin: parent.height*0.1
}

上面的代码用于第二个按钮,但是我之前以完全相同的方式添加了一个。结果是:

enter image description here

第二个按钮在图像上变为透明。我该如何预防?

1 个答案:

答案 0 :(得分:0)

您可以通过附加了Material.background属性来设置按钮的背景色:

import QtQuick 2.0
import QtQuick.Controls 2.0
import QtQuick.Controls.Material 2.0

ApplicationWindow {
    id: window
    width: 400
    height: 440
    visible: true
    color: "red"

    Button {
         text: qsTr("ASISTENCIA")
         Material.background: "#666"
    }
}

默认颜色具有一定的透明度:

http://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/src/imports/controls/material/qquickmaterialstyle.cpp#n862