r
11 листопада 2019 р. 12:29

ReferenceError: buttonText is not defined

ReferenceError

Добрый день!
В QML такая структура (В кратце)

Button {
    id: button
    style: ButtonStyle {
        background: Item {
            Label {
                id: buttonText
                }}}

states:[
                State {
                    name: "BUTTON_ENTERED"
                    PropertyChanges { target: button; opacity: 0.5}
                    PropertyChanges { target: buttonText; color: "White"}
               }]
}


Падает с ошибкой: ReferenceError: buttonText is not defined.
Понимаю, что в State не находит, buttonText, но как решить эту проблему?
И еще вопрос к знающим. Почему не работают оба варианта:

color: control.pressed ? "red" : "black"
color: button.pressed ? "red" : "black"

если их поставить
вот здесь:

Button {
    id: button
    style: ButtonStyle {
        background: Item {
            Label {
                id: buttonText
                //Вот здесь
                }}}}

2

Вам це подобається? Поділіться в соціальних мережах!

2
Evgenii Legotckoi
  • 11 листопада 2019 р. 15:53
  • (відредаговано)

buttonText скорее всего не видит потому, что он находится внутри ButtonStyle.

А какой из двух ваших вариантов собственно не работает?

color: control.pressed ? "red" : "black"
color: button.pressed ? "red" : "black"

Вообще, переходите на QtQuick Controls 2, там всё гораздо проще и нет этих стилевых классов. Просто делегаты переопределять.

Вот статья для второй версии контролов QML - Урок 037. Кастомизация кнопок в QML (Обновление урока 002)

    r
    • 11 листопада 2019 р. 16:57

    buttonText скорее всего не видит потому, что он находится внутри ButtonStyle.
    А как тогда обращаться к свойствам?

      Коментарі

      Only authorized users can post comments.
      Please, Log in or Sign up