我在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中按run运行它时,我得到一个没有列出任何文件的文件对话框。
屏幕截图1
如果我以qmlscene-qt5 main.qml
身份运行它,它会列出文件,但在这种情况下,我没有可用的过滤器(仅限所有文件)。
屏幕截图2
发布于 2018-09-17 01:35:17
当项目完全创建后,您必须使其可见:
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 // <--- +++
}
https://stackoverflow.com/questions/52355886
复制相似问题