qq_42176094 2021-01-18 20:59 采纳率: 0%
浏览 29

lssharedFileListInsertitemURL替代实现

lssharedFileListInsertitemURL在os10.15以后被废弃,请问有什么样的替代方法实现添加文件夹到访达收藏栏

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 15:24
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在OS 10.15之后,Apple弃用了lssharedFileListInsertitemURL API。然而,你可以使用第三方库或自定义解决方案来解决这一问题。以下是一个使用C++和Qt开发的示例,展示了如何创建一个可以将文件夹添加到收藏栏的功能:

    首先,确保你已经安装了Qt开发环境,并且你的项目中包含了一个Qt图形用户界面(GUI)。

    #include <QApplication>
    #include <QDir>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        // 创建一个目录对象
        QDir dir;
    
        // 使用dir对象创建一个新的文件夹并将其添加到收藏栏
        dir.mkpath("testFolder");
    
        // 将新创建的文件夹添加到收藏栏
        QUrl url = QUrl::fromLocalFile(dir.path());
        QSharedFileList::insertItem(url);
    
        return a.exec();
    }
    

    这段代码首先创建了一个指向新创建的文件夹的QDir对象。然后,它尝试创建这个文件夹,并将其添加到收藏栏。请注意,由于我们没有提供完整的库和头文件,这只是一个基本的示例。如果你想要更复杂的功能,可能需要更多的代码和API调用。

    另外,注意:虽然上述代码演示了如何创建和添加文件夹到收藏栏,但是实际上,你应该使用Qt的QFileSystemModel来管理文件系统中的内容,而不是直接操作文件名。这是因为文件系统的结构是不可见的,你需要通过模型来访问这些数据。此外,Qt还提供了更强大的方法来管理文件列表,例如QSortFilterProxyModel,用于过滤、排序和搜索文件列表。

    评论

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同