QML无法打开文件对话框

时间:2015-01-01 19:11:57

标签: file dialog qml

我尝试使用QML创建一个简单的文件对话框:

import QtQuick 2.2
import QtQuick.Dialogs 1.0

FileDialog {
    id: fileDialog
    title: "Please choose a file"
    onAccepted: {
        console.log("You chose: " + fileDialog.fileUrls)
        Qt.quit()
    }
    onRejected: {
        console.log("Canceled")
        Qt.quit()
    }
    Component.onCompleted: visible = true
}

但是,当我尝试预览时,我收到以下错误/警告:

QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory
Invalid URL:  QUrl( "" ) 
Invalid URL:  QUrl( "" ) 
Invalid URL:  QUrl( "" ) 
Invalid URL:  QUrl( "" ) 
kf5.kio.core: KLocalSocket(0x1a51cf0) Jumbo packet of 35946 bytes

据我所知,设置QUrl不需要显示对话框。如果是这样,是否可以跨平台方式将其设置为用户的主文件夹?我还尝试启动ibus守护程序,因为我在google上发现它导致了第一个错误行,但它仍无效。

我使用Arch(完全更新)安装了KF5和QT5.4。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

KF5存在错误,或者更确切地说是QML FileDialog和KDE平台对话框之间的交互,请参阅https://bugs.kde.org/show_bug.cgi?id=334963。看起来它还没有解决。

您可以通过向FileDialog添加“modality:Qt.NonModal”来解决此问题(并显示对话框)。