QML FileDialog 问题
Posted
技术标签:
【中文标题】QML FileDialog 问题【英文标题】:QML FileDialog issue 【发布时间】:2015-11-18 13:31:51 【问题描述】:我正在尝试在 QML 中使用 FileDialog
组件。
我已经完成了与链接http://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html 中 Qt 文档中完全相同的代码,但它没有显示对话框并返回错误:QFileInfo::absolutePath: Constructed with empty filename
。我试着写一个简单的代码来测试它,返回的是同样的错误。我的代码如下。
import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 1.3
import QtQuick.Dialogs 1.2
Window
visible: true
width: 360
height: 640
maximumHeight: 640
minimumHeight: 640
maximumWidth: 360
minimumWidth: 360
title: "Acessar Galeria Test"
Rectangle
id: principal
anchors.fill: parent
FileDialog
id: fileDialog
title: "Please choose a file"
folder: shortcuts.home
visible: true
【问题讨论】:
您发布的代码对我来说工作正常。文件对话框确实按预期显示。您是否尝试过将文件夹更改为类似folder: "/home/user/Documents"
的字符串?
请注意:FileDialog 的 visible 属性默认为 false,因此无需显式设置为 false。显示它的“更好”方式是简单地调用 yourFileDialog.open(),例如,在本例中为 Component.onCompleted。
【参考方案1】:
回答我自己的问题:
FileDialog
visible property
在组件不完整时不能为真。所以代码必须如下:
import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 1.3
import QtQuick.Dialogs 1.2
Window
visible: true
width: 360
height: 640
maximumHeight: 640
minimumHeight: 640
maximumWidth: 360
minimumWidth: 360
title: "Acessar Galeria Test"
Rectangle
id: principal
anchors.fill: parent
FileDialog
id: fileDialog
title: "Please choose a file"
folder: shortcuts.home
visible: false
Component.onCompleted:
fileDialog.visible = true;
【讨论】:
以上是关于QML FileDialog 问题的主要内容,如果未能解决你的问题,请参考以下文章