【发布时间】:2011-10-24 14:28:47
【问题描述】:
我正在使用QDesktopServices::openUrl(url); 打开一个网址。
如何通过用户定义的代码关闭它?
【问题讨论】:
我正在使用QDesktopServices::openUrl(url); 打开一个网址。
如何通过用户定义的代码关闭它?
【问题讨论】:
您正在浏览器窗口中打开您的 URL,用户代码对此没有任何控制权。 所以基本上你不能关闭浏览器。
一种解决方法可能是您编写一个脚本并检测系统上是否打开了浏览器,如果是,您可以通过终止该进程来关闭浏览器。但我不推荐这种方法,因为它在某些平台上存在许多安全和标准合规问题。
编辑:
您不需要创建自己的浏览器,只需使用 Qt Webkit 在您自己的窗口中呈现打开的 URL。
【讨论】:
恐怕我不相信您可以使用 QDesktopServices 通过 Qt 代码关闭 URL。
用户可以将他们的操作系统配置为使用任意数量的不同浏览器打开 URL,我不明白 Qt 被编码以知道如何以编程方式关闭每种不同类型的浏览器是多么实用,在他们支持的每个不同平台。
编辑
另一种方法是将浏览器小部件放入您的应用程序中。然后你就可以控制它了。 Qt 为 is 提供了一些非常强大的工具。请参阅Qt WebKit 文档。
【讨论】: