qt-quick-for-designers-1:qt_quick_and_javascript
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
qt-quick-for-designers-1:qt_quick_and_javascript [2013/06/22 03:34] – mithat | qt-quick-for-designers-1:qt_quick_and_javascript [2013/07/06 21:53] – mithat | ||
---|---|---|---|
Line 22: | Line 22: | ||
* You can add a Javascript function anywhere in your Qt Quick file. | * You can add a Javascript function anywhere in your Qt Quick file. | ||
* The following defines and uses a function that picks a number and references it in an array of states. | * The following defines and uses a function that picks a number and references it in an array of states. | ||
+ | * FIXME '' | ||
+ | {{dailymotion> | ||
<file javascript javascript-example.qml> | <file javascript javascript-example.qml> | ||
import QtQuick 1.0 | import QtQuick 1.0 | ||
Line 144: | Line 146: | ||
}</ | }</ | ||
- | * FIXME We haven' | ||
+ | ===== Importing a Javascript file ===== | ||
+ | * If you want to organize your code, you can import a js file to Qt Quick: | ||
+ | <file javascript randomFile.js> | ||
+ | function randomState() | ||
+ | { | ||
+ | var statesArray = [' | ||
+ | var randomNumber; | ||
+ | do { | ||
+ | randomNumber = Math.floor(Math.random()*statesArray.length); | ||
+ | } while (randomNumber == currentStateNumber); | ||
+ | currentStateNumber = randomNumber; | ||
+ | return statesArray[randomNumber]; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <file javascript importing-javascript.qml> | ||
+ | import QtQuick 1.0 | ||
+ | |||
+ | import " | ||
+ | |||
+ | Item { | ||
+ | id: myItem | ||
+ | width: 400 | ||
+ | height: 400 | ||
+ | |||
+ | property int currentStateNumber: | ||
+ | |||
+ | Image { | ||
+ | source: " | ||
+ | } | ||
+ | |||
+ | Image { | ||
+ | id: spaceship | ||
+ | x: -200 | ||
+ | y: 50 | ||
+ | source: " | ||
+ | } | ||
+ | |||
+ | Image { | ||
+ | id: button | ||
+ | source: " | ||
+ | anchors.horizontalCenter: | ||
+ | anchors.bottom: | ||
+ | anchors.bottomMargin: | ||
+ | |||
+ | Text { | ||
+ | id: label | ||
+ | text: " | ||
+ | color: " | ||
+ | anchors.horizontalCenter: | ||
+ | anchors.top: | ||
+ | anchors.topMargin: | ||
+ | } | ||
+ | |||
+ | MouseArea { | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | | ||
+ | State { | ||
+ | name: " | ||
+ | | ||
+ | | ||
+ | x: 250 | ||
+ | y: 200 | ||
+ | } | ||
+ | }, | ||
+ | State { | ||
+ | name: " | ||
+ | | ||
+ | | ||
+ | x: 100 | ||
+ | y: 200 | ||
+ | } | ||
+ | }, | ||
+ | State { | ||
+ | name: " | ||
+ | | ||
+ | | ||
+ | x: 10 | ||
+ | y: 50 | ||
+ | } | ||
+ | }, | ||
+ | State { | ||
+ | name: " | ||
+ | | ||
+ | | ||
+ | x: 100 | ||
+ | y: 50 | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | |||
+ | transitions: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | }, | ||
+ | | ||
+ | from: "" | ||
+ | to: " | ||
+ | | ||
+ | PauseAnimation { | ||
+ | | ||
+ | } | ||
+ | |||
+ | NumberAnimation { | ||
+ | properties: " | ||
+ | duration: 500 | ||
+ | easing.type: | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | |||
+ | Component.onCompleted: | ||
+ | myItem.state = " | ||
+ | } | ||
+ | |||
+ | }</ | ||
+ | |||
+ | -------------------------------------------------------------- | ||
+ | -------------------------------------------------------------- | ||
+ | ====== Resources ====== | ||
+ | {{: | ||
qt-quick-for-designers-1/qt_quick_and_javascript.txt · Last modified: 2013/07/06 22:53 by mithat