在我的Qt应用程序中,我想在同一浏览器选项卡/窗口中重复打开URL。 (以编程方式“刷新”此选项卡)
使用
QDesktopServices::openUrl(QUrl("http://www.domain.tld"));
为每个电话打开一个新的标签/窗口。是否有可能在某处添加“target =”参数?
答案 0 :(得分:3)
你所要求的是以你想象的方式做不到的事。 openUrl()使用操作系统指定打开参数的程序,如文档中所述。
可能有一些变通方法,但它们都不会很好用,或者适用于所有浏览器。只是这种细粒度的控制对你来说可能是不可能的。
如果要控制浏览器中的选项卡,可以找到该选项卡所代表的窗口,并在打开新选项卡之前将其关闭。这个解决方案有点像hacky。
另一个hacky解决方案是找到包含URL的编辑框的HWND,并尝试使用SendMessage()
更改其文本。但是,这不适用于Chrome,因为它不会对URL窗口使用单独的控件。它可能适用于Firefox或IE。
更好的解决方案是使用Qt WebKit制作您自己的Web浏览器。在其中呈现页面并更改查看的网址非常容易。 QWebView是一个易于使用的QtWebKit实现。
答案 1 :(得分:0)
也许你会发现这个有用:
您可以打开网页并重新加载活动标签。
如果您提供浏览器的名称作为参数,它将查找并重新加载当前页面
https://unix.stackexchange.com/questions/37258/refresh-reload-active-browser-tab-from-command-line