我在我的Qt Quick Controls 2应用程序中使用FileDialog
:
import QtQuick.Dialogs 1.1
FileDialog {
id: fileDialog
modality: Qt.WindowModal
title: "Select music file"
selectMultiple: true
selectFolder: false
selectExisting: true
nameFilters: [ "Music files (*.mp3 *.ogg *.flac *.mp4)", "All files (*)" ]
selectedNameFilter: "Music files (*.mp3 *.ogg *.flac *.mp4)"
onAccepted: {
console.log("Accepted: " + fileUrls)
}
onRejected: { console.log("Rejected") }
header: ToolBar {
contentHeight: toolButton.implicitHeight
ToolButton {
id: toolButton2
text: stackView.depth > 1 ? "\u25C0" : "\u2630"
font.pixelSize: Qt.application.font.pixelSize * 1.6
onClicked: {
fileDialog.open()
}
}
....
这是基于QML的纯对话框(DefaultFileDialog.qml)。问题是左侧边栏不起作用。好吧,它在单击项目时起作用,但是选择不可见,它看起来像静态列表-没有单击或悬停效果。似乎该边栏中也缺少图标。第二个问题是,当浏览目录时,我在控制台输出中得到Model size of -27 is less than 0
(带有随机值)。是哪个虫子
我应该报告还是做错了什么?
注意::我知道我可以使用完美的系统本机对话框。我必须将QGuiApplication app(argc, argv);
更改为QApplication app(argc, argv);
,但这需要QT += widgets
,因此对我的应用程序有libQt5Gui.so
依赖性。我希望继续使用纯QML并以某种方式解决此问题
Qt 5.13
KDE Neon 5.16