您现在的位置是:主页 > news > 济南专业网站建设/百度小说风云排行榜

济南专业网站建设/百度小说风云排行榜

admin2025/5/30 13:24:49news

简介济南专业网站建设,百度小说风云排行榜,网络工程和软件工程,北京新冠疫情最新消息1,简介 项目里有一个打开文件夹的功能,调用windows资源管理器定位到一个特定的目录。 该目录是用户自己设定的,可以是共享文件夹。 在网上搜了些Qt打开文件夹的方法,都不理想。 能打开普通目录的,打不开带空格的&am…

济南专业网站建设,百度小说风云排行榜,网络工程和软件工程,北京新冠疫情最新消息1,简介 项目里有一个打开文件夹的功能,调用windows资源管理器定位到一个特定的目录。 该目录是用户自己设定的,可以是共享文件夹。 在网上搜了些Qt打开文件夹的方法,都不理想。 能打开普通目录的,打不开带空格的&am…

1,简介


项目里有一个打开文件夹的功能,调用windows资源管理器定位到一个特定的目录。

该目录是用户自己设定的,可以是共享文件夹。

在网上搜了些Qt打开文件夹的方法,都不理想。

能打开普通目录的,打不开带空格的;打开带空格的却不支持网络路径。

经过试验和测试,讲其中一种方法的路径做些调整,可以完美满足上面的要求。


2,分析


使用的函数:

QDesktopServices::openUrl

普通版:(不支持带空格路径、不支持共享目录)

    QDesktopServices::openUrl(QUrl("C:/111", QUrl::TolerantMode));              //打开QDesktopServices::openUrl(QUrl("C:/111  222", QUrl::TolerantMode));         //打不开,带空格QDesktopServices::openUrl(QUrl("//XX-PC/share", QUrl::TolerantMode));       //打不开,共享目录

网上找到的是此版本的解决方案,但是带空格和共享目录情况都不支持。

然后找到一个在前面加"file:///"的方案,发现可以支持带空格的,但是依然不支持共享目录。

最后通过调整 / 的数量进行测试,发现当 / 的数量变化时(0个、1个、2个、3个),会出现各种一个能打开另外一个不能打开的组合情况。

其中,只有当不使用 / 时是三种情况都可以打开的。

(其中//XX-PC/share 是使用文件选择对话框里选中一个共享目录后返回的QString内容,自带2个 / ,这里不去动它。)


改进版:(支持空格、共享目录)

    QDesktopServices::openUrl(QUrl("file:C:/111", QUrl::TolerantMode));             //打开QDesktopServices::openUrl(QUrl("file:C:/111  222", QUrl::TolerantMode));        //打开QDesktopServices::openUrl(QUrl("file://XX-PC/share", QUrl::TolerantMode));        //打开

经过测试目前在我电脑这种写法,可以同时支持上述三种情况。