盛世清平~Qt quick学习笔记_05
2018-01-22 14:35
225 查看
图片浏览器
import QtQuick 2.2
import QtQuick.Window 2.2
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick.Dialogs 1.1
Window {
visible: true
width:600;
height:480;
minimumWidth: 480;
minimumHeight: 380;
BusyIndicator{
id:busy;
running:true;
anchors.centerIn: parent;
z:2;
}
Text {
id:stateLable;
visible: false;
anchors.centerIn: parent;
z:3;
}
Image{
id:imageViewer;
asynchronous: true;//只有想要异步加载本地资源时才需要设置它
cache:false;//告诉Image不用缓存图片
anchors.fill: parent;
fillMode:Image.PreserveAspectFit;//等比缩放模式
//信号处理器,Image的status属性变化时会发射satusChanged()信号
onStatusChanged: {
if(imageViewer.states ===Image.Loading){
busy.running = true;
stateLabel.visible = false;
}
else if(imageViewer.status === Image.Ready){
busy.running = false;
}
else if(imageViewer.status === Image.Error){
busy.running = false;
stateLabel.visible = true;
stateLabel.text = "ERROR";
}
}
}
Button{
id:openFile;
text:"Open";
anchors.left: parent.left;
anchors.leftMargin: 8;
anchors.bottom: parent.bottom;
anchors.bottomMargin: 8;
style:ButtonStyle{
background: Rectangle{
implicitHeight: 25;
implicitWidth: 70;
color:control.hovered?"#c0c0c0":"#a0a0a0";
border.width: control.pressed ? 2 : 1;
border.color: (control.hovered||control.pressed)
?"green":"#888888";
}
}
onClicked: fileDialog.open();
z:4;
}
Text{
id:imagePath;
anchors.left: openFile.right;
anchors.leftMargin: 8;
anchors.verticalCenter: openFile.verticalCenter;
font.pixelSize: 18;
}
FileDialog{
id:fileDialog;
title:"Please choose a file";
nameFilters: ["Image Files(*.jpg *.png *.gif)"];
onAccepted: {
imageViewer.source = fileDialog.fileUrl;
var imageFile = new String(fileDialog.fileUrl);
imagePath.text = imageFile.slice(8);
}
}
}
相关文章推荐
- 盛世清平~Qt quick学习笔记_17
- 盛世清平~Qt quick学习笔记_02
- 盛世清平~Qt quick学习笔记_10_还不理解的话
- 盛世清平~Qt quick学习笔记_11_遇见的问题
- 盛世清平~Qt quick学习笔记_13
- 盛世清平~Qt quick学习笔记_15
- 盛世清平~Qt quick学习笔记_18
- 盛世清平~Qt quick学习笔记_06
- 盛世清平~Qt quick学习笔记_14_文件加载组件
- 盛世清平~Qt quick学习笔记_08
- 盛世清平~Qt quick学习笔记_16
- 盛世清平~Qt quick学习笔记_04
- 盛世清平~Qt quick学习笔记_07
- 盛世清平~Qt quick学习笔记_12_遇见的问题
- 盛世清平~Qt quick学习笔记_06
- 盛世清平~Qt quick学习笔记_03
- 盛世清平~Qt quick学习笔记_09
- NodeJs学习笔记 05 -- 使用node进行web开发(未完)
- spring学习笔记整理--05(编码剖析Spring依赖注入的原理)