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 revision | ||
qt-quick-for-designers-1:qt_quick_and_javascript [2013/06/22 03:42] – [Javascript functions] mithat | qt-quick-for-designers-1:qt_quick_and_javascript [2013/07/06 22:53] (current) – [Importing a Javascript file] 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 Neither '' | + | * FIXME '' |
+ | {{youtube> | ||
<file javascript javascript-example.qml> | <file javascript javascript-example.qml> | ||
import QtQuick 1.0 | import QtQuick 1.0 | ||
Line 146: | Line 147: | ||
}</ | }</ | ||
+ | ===== 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 ====== | ||
+ | * {{: | ||
+ | * All source code is subject to this [[copyright header|copyright]]. | ||
qt-quick-for-designers-1/qt_quick_and_javascript.1371872520.txt.gz · Last modified: 2013/06/22 03:42 by mithat