在我工作的应用程序中,我需要使用一个非本机的QFileDialog(QFileDialog::DontUseNativeDialog
),因为我们需要在文件夹选择中添加一些自定义逻辑(比如如果文件夹包含一个文件,这部分超出了这个问题的范围)。我可以使用以下命令在侧栏上添加所需的路径:
QFileDialog *fd = new QFileDialog(parent, caption, updateLastAccessedDir(dir));
fd->setOptions(options | QFileDialog::DontUseNativeDialog);
QFileInfoList drives = QDir::drives();
for (auto d : drives)
fd->sidebarUrls()->append(QUrl::fromLocalFile(d.path()));
fd->sidebarUrls()->append(QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)));
fd->sidebarUrls()->append(QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)));
fd->sidebarUrls()->append(QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::DesktopLocation)));
字符串
我希望能够也添加书签的位置,用户在本机文件资源管理器。但是,我不知道如何获得这些路径的列表。
**有没有办法在c++中的原生文件资源管理器中获取书签路径列表?这是一个Ubuntu和Windows应用程序,所以如果解决方案不依赖于操作系统(恐怕这是不可能的),它将是完美的。
1条答案
按热度按时间bq3bfh9z1#
在Ubuntu上(应该和其他发行版一样),本地书签配置位于文件'$HOME/.config/QtProject. conf'中,如:
字符串
但我不知道Windows怎么样。