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等打开带有指定网址的新标签,而铬不是
我认为这是错误前段时间它完美运作
我的系统(ENV vars等)可能有问题吗?
请帮助解决方法
我更喜欢跨平台,但在Windows上正确的工作具有最高优先级
可能的解决方案(winapi SHELLEXECUTE) - 真的讨厌丑陋的#ifdef,但可以选择
PS:抱歉英语不好。答案 0 :(得分:1)
我认为这不是你的应用程序的问题。我认为更多的是关于Chrome如何处理这样的调用。在你的位置,我会去winpai SHELLEXECUTE解决方案。与将默认浏览器调用移动到操作系统而不是Qt库的好处相比,#ifdef并不是很难看。