import QtQuick
import QtQuick.Controls
import Qt.labs.platform as Pf
ApplicationWindow {
width: 640
height: 480
visible: true
title: qsTr("Image Viewer")
background: Rectangle {
color: "DarkGrey"
}
Image {
id: image
// source: "images/201953022352548787.jpeg"
anchors.centerIn: parent
fillMode: Image.PreserveAspectFit
asynchronous: true // 异步:默认是false,打开可以加快图片显示
}
header: ToolBar {
Flow {
anchors.fill: parent
ToolButton {
text: "打开文件"
icon.source: "images/打开.png"
onClicked: flileOpenDialog.open()
}
}
}
// 文件对话框
Pf.FileDialog {
id: flileOpenDialog
title: "选择图片"
// 默认是记住之前打开的路径,使用这个属性可以设置每次的初始路径
// folder: "/your/files/path"
// 此属性包含用于限制可以选择的文件类型的筛选器
nameFilters: [
"Images files(*.png *.jpg)", "all files(*.*)"
]
// 选择图片,替换原图片
onAccepted: {
image.source = flileOpenDialog.file
}
}
menuBar: MenuBar {
Menu {
title: "文件"
MenuItem {
text: "打开"
icon.source: "images/文件夹.png"
onTriggered: flileOpenDialog.open()
}
}
Menu {
title: "帮助"
MenuItem {
text: "关于"
icon.source: "images/帮助.png"
onTriggered: aboutDialog.open()
}
}
}
// 自定义的对话框
Dialog {
id: aboutDialog
width: 300
height: 150
anchors.centerIn: parent // 对话框处于程序窗口的中心位置
title: "关于Image Viewer"
Label {
anchors.fill: parent
text: "该软件现处于开发阶段,后面会以完全版和大家见面。\n敬请期待!"
horizontalAlignment: Text.AlignHCenter
}
standardButtons: Pf.StandardButton.Ok // 添加一个确定按钮,以退出对话框
}
}