我想加載一些圖像到QML中的Image對象。我想在循環中一個接一個地做,因爲它應該假裝看起來像動畫。即時通訊和QML新的,所以任何人都可以幫助我如何開始或事端'? :)如何將一堆圖像加載到QML中的圖像中?
0
A
回答
0
如果使用QtQuick 2然後AnimatedSprite是做到這一點的最好辦法:http://qt-project.org/doc/qt-5.0/qtquick/qtquick-effects-sprites.html
否則,您可以使用定時器或NumberAnimation觸發改變圖像源,但有可能是不可預測的延誤圖像首次加載(緩存應在第一次循環後解決)。如果你只有幾張圖片,你可以有三張圖片並循環觀看。
1
最簡單的解決方案,即在QML 1.x和2.0的作品,是使用Repeater
和Timer
:
import QtQuick 2.0
Rectangle {
id: base;
width: 800;
height: 600;
property variant images : [
"image1.jpg",
"image2.jpg",
"image3.jpg",
"image4.jpg",
"image5.jpg"
];
property int currentImage : 0;
Repeater {
id: repeaterImg;
model: images;
delegate: Image {
source: modelData;
asynchronous: true;
visible: (model.index === currentImage);
}
}
Timer {
id: timerAnimImg:
interval: 500; // here is the delay between 2 images in msecs
running: false; // stopped by default, use start() or running=true to launch
repeat: true;
onTriggered: {
if (currentImage < images.length -1) {
currentImage++; // show next image
}
else {
currentImage = 0; // go back to the first image at the end
}
}
}
}
應該這樣做,如果你不想動畫重新啓動時到達最後一張圖像,只需在計時器的onTriggered
中將currentImage = 0;
替換爲stop();
即可。
此外,您應該可能需要調整一下Repeater
中的Image
代表,以使其具有您想要的外觀(尺寸,填充模式,位置等)。
相關問題
- 1. 如何將圖像加載到c#中的圖像控件?
- 2. 如何在wpf中將圖像加載到圖像控件?
- 3. 無法在QML圖像中加載圖像源
- 4. 將圖片庫中的圖像加載到圖像源
- 5. 通用圖像加載器 - 如何將第二個圖像加載到ImageView中?
- 6. 如何從圖庫中加載圖像視圖中的圖像?
- 7. 如何在運行時生成的QML中加載圖像(jpg)
- 8. 如何在Visual Studio中使用C將圖像加載到PictureBox中的圖像#
- 9. 如何將SD卡中的圖像加載到圖像切換器中?
- 10. 如何將圖像加載到一個div中,哪個圖像從數據庫加載到另一個div
- 11. 如何從文件加載圖像,然後將圖像加載到位圖?
- 12. 將圖像從解析圖像加載到圖像視圖
- 13. 將圖像加載到WinRT中的圖像UI項目
- 14. 如何從URL中QML加載圖像沒有QT C++
- 15. 如何在OpenCv C++中將圖像添加到圖像中
- 16. 如何將圖像(Blob)加載到Hbase
- 17. 加載圖像到jQuery中
- 18. 將圖像加載到另一個線程並在QML中取得進展
- 19. 如何將圖像從url數組加載到圖像數組?
- 20. 如何將URL中的圖像加載到UITableViewCell的UIImageView中?
- 21. 將圖像加載到Gridview中
- 22. 無法將圖像加載到NSImageView中
- 23. 將圖像加載到數組中Java
- 24. 解析 - 將圖像加載到GridView中
- 25. 將圖像從PHAsset加載到Imageview中
- 26. 將圖像加載到Div中
- 27. 將圖像加載到listview api中
- 28. 將圖像數據加載到Angularjs中
- 29. 將圖像加載到控件中
- 30. 將圖像對象加載到pygame中