Qt 在特定浏览器选项卡/窗口中打开URL

Qt 在特定浏览器选项卡/窗口中打开URL,qt,url,browser,qt4,openurl,Qt,Url,Browser,Qt4,Openurl,在Qt应用程序中,我希望在同一浏览器选项卡/窗口中重复打开URL。(以编程方式“刷新”此选项卡) 使用 为每次通话打开一个新的选项卡/窗口。是否有可能在某个地方添加“target=”参数?您所要求的是不可能按照您想象的方式完成的。使用操作系统指定打开参数的程序,如文档中所述 可能有一些变通办法,但没有一个能很好地工作,或者在所有浏览器上都能工作。只是这种细粒度的控制对您来说可能是不可能的 如果要在浏览器中控制选项卡,可以找到该选项卡所代表的窗口,并在打开新选项卡之前将其关闭。这个解决方案有点老套

在Qt应用程序中,我希望在同一浏览器选项卡/窗口中重复打开URL。(以编程方式“刷新”此选项卡)

使用


为每次通话打开一个新的选项卡/窗口。是否有可能在某个地方添加“target=”参数?

您所要求的是不可能按照您想象的方式完成的。使用操作系统指定打开参数的程序,如文档中所述

可能有一些变通办法,但没有一个能很好地工作,或者在所有浏览器上都能工作。只是这种细粒度的控制对您来说可能是不可能的

如果要在浏览器中控制选项卡,可以找到该选项卡所代表的窗口,并在打开新选项卡之前将其关闭。这个解决方案有点老套

另一个黑客解决方案是找到保存URL的编辑框的HWND,并尝试使用
SendMessage()
更改其文本。但是,这在Chrome上不起作用,因为它没有为URL窗口使用单独的控件。它可能在Firefox或IE上工作


更好的解决方案是使用Qt WebKit创建自己的web浏览器。在其中呈现页面并更改所查看的url非常容易。是的易于使用的实现。

也许您会发现这一点很有用:

您可以打开网页并重新加载活动选项卡

如果您提供浏览器名称作为参数,它将查找并重新加载当前页面


谢谢菲亚特。我不想通过引入QtWebKit来复制现有的浏览器功能。嗨,Elwood,你有没有找到解决方案?我有完全相同的问题:Sipickles:对不起,没有。这似乎是不可能的。我正在考虑创建一个包含
的本地HTML文件,然后根据需要覆盖该文件。但我还没有尝试过,这种方法可能有一些缺点。我正在寻找同样的东西(在同一个选项卡中打开),但最好是在Qt5中。但我也会选择Qt4解决方案。有浏览器提供这一功能吗?我不完全确定。在浏览器中,可以使用锚定标记的
target=“something”
属性。具有相同属性值的所有链接将在同一选项卡/框架/窗口中打开。我不确定是否有办法通过编程触发同样的事情。但我想没有办法。这是一个有趣的拍摄,但不完全是我所想的。首先,我依赖于
xdool
,因此它不能跨平台使用。
QDesktopServices::openUrl(QUrl("http://www.domain.tld"));