Qt6.4中能否通过QML实现支持文件与文件夹选择的选择器?
Qt6.4仅靠QML无法实现同时选择文件和文件夹的选择器
- Qt 6 彻底移除了 Qt 5.15 中
FileDialog的selectFolder属性,原生QML的FileDialog组件只能单独配置为选择文件(默认)或选择文件夹(设置folder: true),没有原生选项支持同时选中文件和文件夹。 - 要实现这个需求,必须结合C++代码扩展:
- 在C++层基于
QFileDialog实现逻辑:通过设置QFileDialog::DontUseNativeDialog选项,再将文件模式设为QFileDialog::ExistingFiles,此时对话框允许同时选择文件和文件夹;或者直接调用QFileDialog::getOpenFileNames并传入对应参数来实现。 - 将这个C++逻辑封装成QML可调用的接口:创建一个继承自
QObject的类,添加触发文件选择的槽函数,通过qmlRegisterType或setContextProperty把实例暴露给QML,之后在QML中通过按钮等交互组件调用该接口,获取选中的路径列表。
- 在C++层基于
内容的提问来源于stack exchange,提问作者excommunicado
相关产品推荐
相关产品推荐

