Михаиллл
9 сентября 2019 г. 0:51

Как в QML изменить стиль Switch

Добрый день.
Как в QML изменить стиль Switch?
Так не работает:

  1. import QtQuick 2.12
  2. import QtQuick.Controls.Styles 1.4
  3. import QtQuick.Controls 2.12
  4. import AppCore 1.0
  5.  
  6.  
  7. Switch {
  8. id: element
  9. x: 248
  10. y: 39
  11. text: qsTr("Switch")
  12. focusPolicy: Qt.WheelFocus
  13. style: SwitchStyle {
  14. groove: Rectangle {
  15. implicitWidth: 100
  16. implicitHeight: 20
  17. radius: 9
  18. border.color: control.activeFocus ? "darkblue" : "gray"
  19. border.width: 1
  20. }
  21. }
  22. }

Похоже трудность в 1-х контролах, но как обойтись без них?

2

Вам это нравится? Поделитесь в социальных сетях!

1
Михаиллл
  • 9 сентября 2019 г. 12:35
  • Ответ был помечен как решение.

Вот так

  1. Switch {
  2. id: control
  3. checked: true
  4.  
  5. indicator: Rectangle {
  6. implicitWidth: 48
  7. implicitHeight: 26
  8. x: control.width - width - control.rightPadding
  9. y: parent.height / 2 - height / 2
  10. radius: 13
  11. color: control.checked ? "green" : "red"
  12. border.color: "black"
  13.  
  14. Rectangle {
  15. x: control.checked ? parent.width - width : 0
  16. width: 26
  17. height: 26
  18. radius: 13
  19. border.color: "black"
  20. }
  21. }
  22. }

    Комментарии

    Только авторизованные пользователи могут публиковать комментарии.
    Пожалуйста, авторизуйтесь или зарегистрируйтесь