FileDialog 显示没有文件
FileDialog shows no files
我在main.qml中有这个代码:
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Controls 2.2
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Test")
FileDialog {
id: fileDialog
folder: shortcuts.home
visible: true
title: "Please choose an image"
nameFilters: ["Image files (*.jpg *.png)", "All files (*)"]
onAccepted: {
image.source = fileDialog.fileUrl
}
}
Image {
id: image
anchors.centerIn: parent
}
}
当我在 QtCreator 中按 运行 运行 时,我得到一个文件对话框,其中没有列出任何文件。
截图 1
如果我 运行 它会列出文件 qmlscene-qt5 main.qml
,但这样我就没有可用的过滤器(仅限所有文件)。
截图 2
您必须在项目完全创建后使其可见:
FileDialog {
id: fileDialog
folder: shortcuts.home
// visible: true <--- ---
title: "Please choose an image"
nameFilters: [ "Image files (*.jpg *.png)", "All files (*)" ]
onAccepted: {
image.source = fileDialog.fileUrl
}
Component.onCompleted: visible = true // <--- +++
}
我在main.qml中有这个代码:
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Controls 2.2
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Test")
FileDialog {
id: fileDialog
folder: shortcuts.home
visible: true
title: "Please choose an image"
nameFilters: ["Image files (*.jpg *.png)", "All files (*)"]
onAccepted: {
image.source = fileDialog.fileUrl
}
}
Image {
id: image
anchors.centerIn: parent
}
}
当我在 QtCreator 中按 运行 运行 时,我得到一个文件对话框,其中没有列出任何文件。
截图 1
如果我 运行 它会列出文件 qmlscene-qt5 main.qml
,但这样我就没有可用的过滤器(仅限所有文件)。
截图 2
您必须在项目完全创建后使其可见:
FileDialog {
id: fileDialog
folder: shortcuts.home
// visible: true <--- ---
title: "Please choose an image"
nameFilters: [ "Image files (*.jpg *.png)", "All files (*)" ]
onAccepted: {
image.source = fileDialog.fileUrl
}
Component.onCompleted: visible = true // <--- +++
}