Russian Qt Forum

Qt => Qt Quick => Тема начата: nekitozzz от Января 06, 2013, 03:21



Название: Как реализовать возврат к первоначальному состоянию. qml
Отправлено: nekitozzz от Января 06, 2013, 03:21
Как при совершении определённого действия сбросить настройки определённого элемента на первоначальные, т.е. например:
Код
Javascript
Rectangle {
   ...
   id: rect1
   color: "grey"
   MouseArea {
           onClicked: color: "white"
       }
}
 
   Rectangle {
       ...
       MouseArea {
           onClicked:
 
 // Тут сделать что-то, чтобы вернуть rect1 настройки до клика, если он произошёл (покрасить обратно в серый цвет)
[/color]
Код
Javascript
       }
   }
 


Название: Re: Как реализовать возврат к первоначальному состоянию. qml
Отправлено: ksk- от Января 06, 2013, 06:10
В языке QML есть состояния ("State").

http://doc.qt.digia.com/qt/qdeclarativestates.html (http://doc.qt.digia.com/qt/qdeclarativestates.html)


Название: Re: Как реализовать возврат к первоначальному состоянию. qml
Отправлено: nekitozzz от Января 06, 2013, 14:28
В языке QML есть состояния ("State").

http://doc.qt.digia.com/qt/qdeclarativestates.html (http://doc.qt.digia.com/qt/qdeclarativestates.html)

т.е. мне нужно написать целое состояние, в котором нужно скопировать весь код множества свойств, которые присутствуют в rect1 и могут быть изменены, нет ли какого-то другого способа?

что-то вроде rect1.state = default ?


Название: Re: Как реализовать возврат к первоначальному состоянию. qml
Отправлено: ksk- от Января 06, 2013, 16:13
В состояние нужно описывать только те свойства, которые должны изменятся при переходе в этого состояние. Если такое свойство только одно, можно обойтись и без использования состояний.