ubuntu 非本机Qt文件对话框添加系统资源管理器书签

5cnsuln7  于 2023-08-03  发布在  其他
关注(0)|答案(1)|浏览(104)

在我工作的应用程序中,我需要使用一个非本机的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应用程序,所以如果解决方案不依赖于操作系统(恐怕这是不可能的),它将是完美的。

bq3bfh9z

bq3bfh9z1#

在Ubuntu上(应该和其他发行版一样),本地书签配置位于文件'$HOME/.config/QtProject. conf'中,如:

shortcuts=file:, file:///tmp, file:///home/hs, file:///home/hs/Downloads

字符串
但我不知道Windows怎么样。

相关问题