目录
官方解析
FileDialog是基于文件的选择器,可以选择文件或文件夹,创建文件,这个Dialog初始化是不可见的,得需要设置他为visible或调用open()即可。
下面是一段伪代码:
import QtQuick 2.2
import QtQuick.Dialogs 1.0
FileDialog {
id: fileDialog
title: "Please choose a file"
folder: shortcuts.home
onAccepted: {
console.log("You chose: " + fileDialog.fileUrls)
Qt.quit()
}
onRejected: {
console.log("Canceled")
Qt.quit()
}
Component.onCompleted: visible = true
}
博主例子
这里补充下官方的实例,让其跑出来:
运行截图如下:
按下选择文件后:
程序结构如下:
main.cpp
#include <QApplication>
#include <QUrl>
#include <QQuickWindow>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QQuickWindow::setDefaultAlphaBuffer(true);
QQmlApplicationEngine engine(QUrl("qrc:/main.qml"));
return a.exec();
}
main.qml
import QtQuick 2.5
import QtQuick.Dialogs 1.0
import QtQuick.Window 2.1
Window {
FileDialog {
id: fileDialog
title: "Please choose a file"
folder: shortcuts.home
selectFolder: true
onAccepted: {
console.log("You chose: " + fileDialog.fileUrls)
Qt.quit()
}
onRejected: {
console.log("Canceled")
Qt.quit()
}
//Component.onCompleted: visible = true
}
id: root
visible: true
width: 1024
height: 768
color: "black"
Component.onCompleted: fileDialog.open()
}
程序源码打包下载:
https://github.com/fengfanchen/Qt/tree/master/FileDialogOfQML