Русскоязычный портал о QML и QtQuick, QmlPortal What the duck
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум QML » QML форум » Вопросы по QML » Как засунуть градиент в state? (засунуть градиент в state)
Как засунуть градиент в state?
RomkoДата: Пятница, 29.07.2011, 16:55 | Сообщение # 1
Постоялец
Группа: Проверенные
Сообщений: 22
Награды: 0
Репутация: 2
Статус: Offline
Делаю кнопку градиент которой будет меняться при наведении на неё курсором, и не могу понять как же мне засунуть градиент в state, если кидаю полные параметры градиента, ошибку не выдаёт нигде, но при сборке в самой программе просто белый экран.

Зарание спасиб)
 
CYANДата: Суббота, 30.07.2011, 11:21 | Сообщение # 2
Администратор
Группа: Администраторы
Сообщений: 21
Награды: 1
Статус: Offline
Ну полностью пихать его в state вовсе не обязательно. Можно описать все нужные градиенты вне и потом просто использовать их по id:

Code

Rectangle {
     width: 200
     height: 200

     Rectangle {
         id: button
         x: 50
         y: 85
         width: 100
         height: 30
         smooth: true
         visible: true
         clip: true
         radius: 5
         border.color: "black"
         opacity: 1.0
         color: "white"

         Gradient {
             id: gradientEntered
             GradientStop { position: 0.0; color: "#FFAA11" }
             GradientStop { position: 0.17; color: "#FFAA22" }
             GradientStop { position: 0.98;color: "#555555" }
             GradientStop { position: 1.0; color: "#000000" }
         }

         Gradient {
             id: gradientStandart
             GradientStop { position: 0.0; color: "#BBBBBB" }
             GradientStop { position: 0.17; color: "#AAAAAA" }
             GradientStop { position: 0.98;color: "#555555" }
             GradientStop { position: 1.0; color: "#000000" }
         }

         gradient: gradientStandart

         states:[
             State {
                 name: "BUTTON_ENTERED"
                 PropertyChanges { target: button; gradient: gradientEntered}
             },
             State {
                 name: "BUTTON_EXITED"
                 PropertyChanges { target: button; gradient: gradientStandart}
             }
         ]

         MouseArea{
             anchors.fill:parent
             anchors.bottom: parent.bottom
             width:parent.width
             height: parent.height

             hoverEnabled: true
             onEntered: button.state = "BUTTON_ENTERED"
             onExited:  button.state = "BUTTON_EXITED"
         }
     }
}
 
Форум QML » QML форум » Вопросы по QML » Как засунуть градиент в state? (засунуть градиент в state)
  • Страница 1 из 1
  • 1
Поиск: