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/