Изменение цвета фона окна при нажатии кнопки в qml - PullRequest
0 голосов
/ 17 июня 2019

Я разрабатываю проект qml, в котором я хочу добавить функциональность изменения цвета фона.

, для этого я создаю одно поле со списком элементов {красный, синий, белый} и создаю одну кнопку обновления для обновления цвета.когда пользователь выбирает красный элемент и щелкает на обновлении, изменение цвета фона на красный, так как я могу это сделать?

Button {
            id: button1
            x: 284
            y: 95
            width: 114
            height: 34
            text: qsTr("Update")


            contentItem: Text {

                   font: control.font
                   opacity: enabled ? 1.0 : 0.3
                   text: "Update"
                   //Font.pixelSize:15
                   horizontalAlignment: Text.AlignHCenter
                   verticalAlignment: Text.AlignVCenter
                   elide: Text.ElideRight
               }
            background: Rectangle {
                       id: myRectId1
                       color: Colorchange.Rectange_Color
                       radius: 8
                   }
            onHoveredChanged: hovered ? myRectId1.opacity = 1 :
            myRectId1.opacity = .80;
            MouseArea {
                   id: mouseAreaScanbtn
                   anchors.fill: parent
                   hoverEnabled: true;
                   onEntered: { myRectId1.border.width = 2 }
                   onExited: { myRectId1.border.width = 1 }
                   onClicked: {
      //i want to add some code here to change background color
      // i tried 
            //window.color:combobox.currantindex()
}
               }
        }

1 Ответ

0 голосов
/ 17 июня 2019

привет, просто используйте тип ComboBox Qml следующим образом:

ComboBox {

        currentIndex: -1
        width: 200
        model: [ "white", "blue" , "red" ]
        onCurrentIndexChanged:{

             background.color=model[currentIndex]

        }


}

или если вы хотите обновить цвет фона после того, как пользователь нажмет кнопку, вы должны сохранить цвет, выбранный пользователем в свойстве, а затем использовать его вНажмите на вашу кнопку:

Item {
    id:root 
    property  var SelectedColor
    ComboBox {

        currentIndex: -1
        width: 200
        model: [ "white", "blue" , "red" ]
        onCurrentIndexChanged:{

             SelectedColor=model[currentIndex]

        }



} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...