//main.qml
import QtQuick 2.2
import QtQuick.Window 2.1
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:false
anchors.centerIn: parent
z:2
}
Text{
id:stateLable
visible:false
anchors.centerIn: parent
z:3
}
Image {
id: imageViewer
asynchronous: true
cache:false
anchors.fill: parent
fillMode: Image.PreserveAspectFit
onStatusChanged: {
if(imageViewer.status===Image.Loading){
busy.running=true;
stateLable.visible=false;
}
else if(imageViewer.status===Image.Ready){
busy.running=false;
}
else if(imageViewer.status===Image.Error){
busy.running=false;
stateLable.visible=true;
stateLable.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{
implicitWidth: 70
implicitHeight: 25
color:control.hovered?"#c0c0c0":"#a0a0a0"
border.width: control.passed?2:1
border.color: (control.hovered||control.passed)
?"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"
nameFilters: ["Image Files(*.jpg *.png *.gif)"]
onAccepted:{
imageViewer.source=fileDialog.fileUrl
var imageFile=String(fileDialog.fileUrl)
imagePath.text=String(imageFile.substring(8,imageFile.length))
}
}
}
Qt quick 图片查看器
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.使用win+R快捷键快速打开运行,输入regedit打开注册表 2.在注册表中找到HKEY_LOCAL_MAC...
- Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\...
- 1.使用win+R快捷键快速打开运行,输入regedit打开注册表 2.在注册表中找到 3.在右侧新建字符串项 需...