Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QDesktopServices类提供了访问常用的桌面服务的方法。More...
该QDesktopServices类提供了访问常用的桌面服务的方法。
许多桌面环境提供了可以被应用程序用于执行常见任务,如打开一个网页,在某种程度上,既一致,并考虑到了用户的应用程序首选项的服务。
这个类包含的功能,提供简单的界面使用这些服务,表明他们是成功还是失败。
该openUrl( )函数用于打开位于在外部应用程序中的任意文件的URL 。对于对应的资源在本地的文件系统(其中的URL方案“文件” )上的URL ,一个合适的应用程序将被用来打开文件,否则, Web浏览器将被用来获取和显示文件。
用户的桌面设置控制某些类型的可执行文件是否被打开进行浏览,或者如果他们转而执行。一些桌面环境配置为防止执行来自非本地URL获得文件的用户,或者要求用户的权限才这样做。
的行为openUrl( )函数可以定制个人的URL方案,允许应用程序复盖默认的处理行为对于某些类型的URL 。
调度机制允许将用于每个URL方案只有一个自定义处理程序,这是使用设置setUrlHandler()函数。每个处理程序被实现为只接受一个单一的插槽QUrl的说法。
每个计划的现有处理程序可以与被删除unsetUrlHandler()函数。这将返回给定的方案的默认行为的处理行为。
这个系统可以很容易地实现一个帮助系统,例如。说明可以使用标籤和文本浏览器提供help://myapplication/mytopic网址,并通过注册一个处理程序就能够在应用程序中显示的说明文字:
class MyHelpHandler : public QObject { Q_OBJECT public: ... public slots: void showHelp(const QUrl &url); }; QDesktopServices.setUrlHandler("help", helpInstance, "showHelp");
如果处理程序中你决定,你无法打开请求的URL ,你可以直接调用QDesktopServices.openUrl( )再次使用相同的参数,它会尝试使用适当的机制,使用户的桌面环境打开URL 。
该枚举描述可由QDesktopServices.storageLocation和QDesktopServices.displayName要查询的不同的位置。
Constant | Value | Description |
---|---|---|
QDesktopServices.DesktopLocation | 0 | 返回用户的桌面目录。 |
QDesktopServices.DocumentsLocation | 1 | 返回用户的文档。 |
QDesktopServices.FontsLocation | 2 | 返回用户的字体。 |
QDesktopServices.ApplicationsLocation | 3 | 返回用户的应用程序。 |
QDesktopServices.MusicLocation | 4 | 返回用户的音乐。 |
QDesktopServices.MoviesLocation | 5 | 返回用户的电影。 |
QDesktopServices.PicturesLocation | 6 | 返回用户的图片。 |
QDesktopServices.TempLocation | 7 | 返回系统的临时目录。 |
QDesktopServices.HomeLocation | 8 | 返回用户的主目录。 |
QDesktopServices.DataLocation | 9 | 返回在持久应用程序数据可以被存储的目录位置。QCoreApplication.applicationName和QCoreApplication.organizationName应该在所有平台上。 |
QDesktopServices.CacheLocation | 10 | 返回在用户特定的非必要(缓存)的数据应该写入的目录位置。 |
这个枚举被引入或修改的Qt 4.4 。
See also storageLocation()和displayName( ) 。
返回给定位置的本地化显示名称type或空QString如果没有相关的位置可以找到。
打开给定的url在真实的,如果成功了适当的Web浏览器为用户的桌面环境,并返回,否则返回False 。
如果URL是参考到本地文件(例如, URL模式是“文件” ),然后将它开了一个合适的应用程序,而不是一个Web浏览器。
下面的示例打开一个文件驻留在包含空格的路径上的Windows文件系统:
QDesktopServices.openUrl(QUrl("file:///C:/Documents and Settings/All Users/Desktop", QUrl.TolerantMode));
如果mailto被指定的URL ,用户的电子邮件客户端将用于打开包含在URL中,类似的方式指定的选项作曲家窗口mailto该书是由Web浏览器处理。
例如,下面的URL包含收件人(user@foo.com) ,一个主体(Test)和消息体(Just a test) :
mailto:user@foo.com?subject=Test&body=Just a test
Warning:虽然许多电子邮件客户端可以发送附件和识别Unicode ,用户可能没有这些功能配置他们的客户。此外,某些电子邮件客户端(如Lotus Notes)的有问题,长的URL。
Note:基于Symbian操作系统,SwEvent能力是必需的打开给定url如果Web浏览器已经在运行。
See also setUrlHandler( ) 。
设置处理程序给定的scheme成为该处理程序method通过提供receiver对象。
此功能提供了一种方法来定制行为openUrl( ) 。如果openUrl( )被调用与指定的URLscheme那么给定的method在receiver对象被调用,而不是QDesktopServices启动外部应用程序。
所提供的方法必须被实现为一个时隙只接受单一QUrl的说法。
如果setUrlHandler ( )用来设置上已经有一个处理一个方案一个新的处理程序,现有的处理程序简单地替换成新的。自QDesktopServices不采取处理程序的所有权,当一个处理器被替换任何对象都将被删除。
请注意,处理程序将总是从调用同一个线程中调用QDesktopServices.openUrl( ) 。
See also openUrl()和unsetUrlHandler( ) 。
返回默认的系统目录下的文件type属于,或空字符串,如果该位置不能确定。
Note:返回的存储位置可以是不存在的目录,也就是说,它可能需要由系统或用户创建的。
Note:基于Symbian操作系统,ApplicationsLocation总是相同的驱动器上的可执行文件指向的/ sys / bin文件夹中。FontsLocation总是指向ROM驱动器上的文件夹中。 Symbian操作系统没有桌面的概念,DesktopLocation返回相同的路径DocumentsLocation。的标准位置休息指向同一个驱动器上的文件夹具有可执行,但如果可执行文件是在ROM中从C盘的文件夹被返回。
此功能被引入Qt的4.4 。
移除先前设置的URL处理程序规定scheme。
See also setUrlHandler( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |