プロパティのアニメーション要素
提供PropertyAnimationアニメーションプロパティはNunberAnimation colorAnimation RotationAnimation Vector3dAnimation継承されています
色にcolorAimation {から「赤」、に「黄色」、期間:1000}
SmoothedAnimaさtイオン:目標値を滑らかな変化を提供するために、アニメーションに変更されたとき、それは、特別なNumberAnimationである) - SpringAnimation:バネ状の映画を提供し、質量、減衰特性などイプシロンを設定することができ;
) - ParentAnimation:アニメーションを生成するために使用される<ParentChange対応する要素)親プロジェクトを変更する;) -アンカーアニメーション:ピンを変更アニメーションを生成するために使用される<AnchorChanges要素に対応)
アニメーション作用:X
PropertyAnimation {Xへ: 50; DURATION:1000; easing.type:Easing.OutBounce}
ParallelAnimationアニメーションが同時にう
SequentialAnimationアニメーションが次々に実行されます
ジャンプアップ及びダウンピクチャ
長方形{の
幅:400
、高さ:600
上記ID:RECT
{イメージ
画像:上記ID述べ
出典: "qt.png"
anchors.horizontalCenter:parent.horizontalCenter
Y-:0
SequentialAnimation Y-ON {
ループ:Animation.Infinite //状態でアニメーションループをさせる
{NumberAnimation
に:rect.height-image.height変化をy座標
}:1000;期間Easing.OutQuad:easing.typeを
PauseAnimation {期間:1000}
にNumberAnimation {0; easing.type:Easing.OutQuad; DURATION:1000}転換のY
PauseAnimation {期間:1000}休止
}
}
}
長方形{
幅:400
、高さ:600
ID:RECTの
色"赤"
{ID MouseArea:MouseArea; anchors.fill:親}
状態:状態{
名: "押下";場合:マウスは青色に色をmouseArea.pressedときに
するPropertyChanges {
RECT;色:ターゲット"ブルー"。
Y:mouseArea.mouseY;幅:mouseArea.mouseX //宣言を変更する
}
}
遷移:遷移は{//特定の遷移コンテンツ定義
SequentialAnimation {//実行されているアニメーションを
ColorAnimation {
持続時間:200
}
PauseAnimation {
持続時間:100
}
NumberAnimation {
持続時間:500
easing.type:Easing.OutBounceの
ターゲット:RECTの
特性: "Y"
}
NumberAnimation {
持続時間:800
easing.type:Easing.InOutQuadの
ターゲット:RECTの
特性: "幅"
}
}
}
}
PauseAnimation:花を移動の途中で一時停止;
ScriptAction:トレンドでJavaScriptを有効にするか、あなたはすでに、スクリプト内の休憩からStateChangeScriptを使用して再利用することができます。
propertyAction:アニメーションの途中ですぐにプロパティを変更する代わりに、プロパティの変更使用して
アニメーションを
Flickable(バネ付き)とFlipable
サブ弾性インターフェイスとドラッグを提供することができるFlickable
お使いのモデルがロール名が含まれていない場合、そのデータはmodelDataの役割によって提供することができます。
インポートQtQuick 2.6
インポートQtQuick.Window 2.2
/ *
長方形{
幅:360、高さ:360
色:「青」
//大きい画像ウィンドウビューにドラッグすることができるより
Flickable {
上記ID:flickable
幅:200、高さ:200
//コンテンツのドラッグサイズ設定
contentWidth:image.widthと、contentHeight:image.heightを
trueに:クリップ
イメージ{上記ID述べ:イメージ;ソース: "qt.png"}
}
長方形{
ID:スクロールバー
anchors.right:flickable.rightの
Y:flickable.visibleArea.yPosition * flickable.height> 0?flickable.visibleArea.yPosition * flickable.height:0
幅:10
高さ:flickable.visibleArea.heightRatio * flickable.heightの
色"黒"
}
}
//反転さできる
Flipable {
IDを:flipable
幅:200は
200である。高さ
プロパティBOOLひっくり返さ:falseに
フロント:イメージ{源: "qt.png"; anchors.centerIn:親}
バック:イメージ{源: "qt.png"; anchors.centerIn:親}
変換:回転//回転
{
ID:回転
。origin.x:flipable.widthの/ 3
。origin.y:flipable.heihgt / 3
Axis.X:0; axis.y :. 1; axis.z:0
角:0 //角度を変更します
}
状態:状態{
名: "バック"
するPropertyChanges {
対象:回転;角度:180
}
とき:filpable.flipped
}
遷移:遷移{
NumberAnimation {ターゲット:回転;プロパティ: "角度"、期間2000}
}
MouseArea {
anchors.fill:親が
onClicked:!{flipable.flipped = flipable.flipped
( "クリック")はconsole.logを
}
}
}
輸入QtQuick 2.0
Flipable {
ID:flipable
幅:240
、高さ:240
プロパティブール値が反転した:偽
フロント:画像{ソース:「qt.png」。anchors.centerIn:親}
バック:イメージ{源: ""。anchors.centerIn:親}
変換:{回転
ID:回転
origin.x://はflipable.widthの回転の中心を設定
origin.y:flipable.heightの/ 5
Axis.X :. 1; axis.y :. 1; axis.z:// 1つのSET軸。 y軸の周りを回転する1〜.Y軸はy軸周りaxis.yに1に設定される
角度://デフォルトの角度0
}
状態:状態{
名:「バック」
するPropertyChanges {対象:回転。角度:180} //旋转角度
とき:flipable.flipped
}
遷移:遷移{
NumberAnimation {ターゲット:回転;プロパティ: "角度"、時間:1000} //アニメーション対象デジタルのDurationプロパティ
}
MouseArea {
anchors.fill:親は
:onClicked!flipable.flipped = flipable.flipped
}
}
モデルとビュー
項目表示のためのデータを提供するデータモデルを使用して、(ワーム[1つのListView、GridViewのリピータなど)のいくつかのQML図。これらのプロジェクトは通常「は、毎日バーモデルのインスタンスを作成するデリゲート(委任)成分を必要とするモデルは、静的であることができ、また、動的で項目を、変更、削除、または移動することができる
の結合によって委託名前役割のためのデータは、データを提供するために委託します
項目{
幅:200である
高さ:200である
ListModelの{//モデルは、データ提供
IDを:,に、mymodel
ListElement {タイプ: "犬"、年齢:. 5}
ListElement {タイプ: "犬"、年齢:. 8}
特別な役割インデックスを//
場合//ロードされたモデルは、データがmodelDataの役割によって提供することができる、ロール名が含まれていません。
}
表示コンポーネントセット主成分{//
MyDelegate:ID
テキスト{テキスト:タイプ+「:」+年齢}
}
リストビュー{//ビュー表示
anchors.fill:親
モデル:mymodelというの
デリゲート:myDelegate
}
}
XmlListModelは、XMLデータソースからモデルを作成することができます、あなたはのXmlRole要素によって役割を指定することができ
、このモデルのWebベースのアプリケーションを作成することが容易になります
xmlListModelを{//データを提供
}
矩形{
幅:380
高さ:380
XmlListModel {//提供数据
ID:feedModelの
ソース: "http://rss.news.yahoo.com/rss/oceania"
クエリ"RSS /チャネル/項目"
XmlRole {名: "タイトル"、クエリ:「タイトル/文字列() "}
XmlRole {名:"リンク";クエリー:"リンク/列() "}
XmlRole {名: "説明";クエリー:"説明/列() "}
}
リストビュー{
anchors.fill:親
モデル:feedModelの
デリゲート:列{
テキスト{テキスト: "タイトル" +タイトル}
テキスト{テキスト: "リンク" +リンク}
テキスト{テキスト: "descrption" +記述}
MouseArea {}
}
}
}
SetDataメソッド(INT行、CONST QStringの& FIELD_NAME、QVariant NEW_VALUE): モデル定義関数で
、その後はデリゲートを呼び出し
ListView.view.model.setData(インデックス、提出され、値)
リストビューエントリが配置
GridViewのグリッド
pathViewを開きパス
WebViewを使用して作成はFlickableビューの必要な
モデルは別のファイルに定義することができます
ハイライト:長方形{色: "lightsteelblue"、半径:5(角丸)}
成分{
ID:contactDlelgate
長方形{
ID:ラッパー
幅:wrapper.width
色:ListView.isCurrentItem?"黒"、 "赤"
テキスト{
ID:のContactInfoの
テキスト:名+ ":"数の
色:wrapper.ListView.isCurrent?「黒」、「赤」
}
}
}
グリッドの絵その中:
矩形{
幅:400
、高さ:400
色:「白」
ListModelの{
ID:のAppModel
ListElement {名: "QT"、アイコン"qt.png"}
ListElement {名: "QT"、アイコン"qt.png"}
ListElement {名: "QT";アイコン"QT。 PNG "}
ListElement {名:" QT "アイコン" qt.png "}
ListElement {名:" QT "アイコン" qt.png "}
ListElement {名:" QT "アイコン" qt.png」 }
}
コンポーネント{
ID:appDelegate
アイテム{
幅:100
、高さ:100
イメージ{
ID:myIconの
幅:70;高さ:70
Y:20
anchors.horizontalCenter:parent.horizatalCenterの
ソース:アイコン
}
テキスト{
アンカー{トップ:myIcon.bottom
horizontalCenter:parent.horizontalCenter
}
テキスト:名前
}
}
}
コンポーネント{
ID:appHighlight
長方形{幅:80;高さ:80;色: "lightsteelblue"}
}
{GridViewの
anchors.fill:親
cellWidth:100; cellHeight:100
ハイライト:appHighlight
フォーカス:構築// trueにナビゲートするために使用される
モデル:のAppModel
デリゲート:appDelegate
}
}
輸入QtWebKit 3.0
中央の領域をドラッグすることができFlickable {//
幅:400
、高さ:300
contentWidth:webView.width; contentHeight:wedView.height
WebViewの
{
ID:WebViewの
URL: "http://www.baidu.com"
}
}
ファイル:///home/hmsnc/qml/easing/easing.qml:インストールされていません284モジュール「QtWebKit」
* /
矩形{
幅:400
、高さ:240
色: "白"
するListModel {//模型提供数据
ID:のAppModel
ListElement {名: "QT1";アイコン: "qt.png"}
ListElement {名: "QT2";アイコン: "qt.png"}
ListElement {名: "QT3"。アイコン: "qt.png"}
ListElement {名: "qt5";アイコン: "qt.png"}
ListElement {名: "QT6";アイコン: "qt.png"}
ListElement {名: "qt7";アイコン: "qt.png"}
}
コンポーネント{//委任インスタンスデータの各
ID:appDelegate
アイテム{
幅:100、高さ:100
スケール:// PathView.iconScaleレンジ
イメージ{
ID:myIcon
Y:20であり; anchors.horizontalCenter:parent.horizontalCenterの
幅:80;高さ:80
出典:アイコン
スムーズ:trueに
}
テキスト{
アンカー{トップ:myIcon.bottom
horizontalCenter:parent.horizontalCenter
}
テキスト:名前
スムーズ:真
}
MouseArea {
anchors.fill:親
onClicked:view.currentIndex =指数
}
}
}
コンポーネント{
ID:appHighlight
長方形{幅:80;高さ:80;色: "lightsteelblue"}
}
{pathViewを開きの
ID:ビュー
anchors.fill:親の
ハイライト:appHighlight
preferredHighlightBegin:0.5
preferredHighlightEnd:0.5 //優先ハイライト
フォーカス:真の
モデル:のAppModel
デリゲート:appDelegate
パス:パス{//一つ以上のパスセグメントパスラインPathQuadがある場合PathCubic
STARTX:開始点を設定する10 //
50:startYとは
PathAttribute {名: "iconScale";値:0.5}
PathQuad {X:200であり; Y:150; controlX:50; controlY:} 200であります
PathAttribute {名: "iconScale";値:0.5}
PathQuad {X:390、Y:50; controlX:350; controlY:200}
PathAttribute {名: "iconScale";値:0.5}
}
}
}
線形パス
のパス{
STARTX:50; startYとは:50
パスライン{X:200であり; Y:200です}
}
ターゲットエントリ調整PathPercentとの間のギャップ