QDesktopServices::openUrl(QUrl("http://google.com"));

如果默认浏览器即ie9,ie8,firefox或Opera起作用

如果默认浏览器是Chrome,则不会发生

QtCreator调试器日志我可以看到如下行
ModLoad: 00000000`05250000 00000000`05308000   iexplore.exe

或者
ModLoad: 00000000`04db0000 00000000`04ef8000   chrome.exe

因此它实际上有效,但是ff等使用指定的url和chrome打开新标签页

我想这是错误

前段时间它运行良好

我的系统(ENV vars等)有问题吗?

请提供解决方法

我更喜欢跨平台,但是在Windows上正确工作具有最高优先权

可能的解决方案(winapi SHELLEXECUTE)-确实讨厌丑陋的#ifdef,但是可以选择

PS:对不起,英语不好。

最佳答案

我认为这不是您的应用程序真正的问题。我认为这更多地与如何处理Chrome此类调用有关。在您的位置上,我将寻求winpai SHELLEXECUTE解决方案。与#ifdef相比,将默认浏览器调用移至操作系统而不是Qt库的好处并不十分难看。

关于c++ - QDesktopServices::openUrl()不会在Windows的chrome中打开页面。解决方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16103589/

10-12 14:49
查看更多