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
所以它确实有效,但 ie,ff 等。打开具有指定 url 的新选项卡,而 chrome 不会
我想这是错误
前段时间它运行良好
会不会是我的系统有问题(环境变量等)?
请帮助解决问题
我更喜欢跨平台,但在 windows 上的适当工作具有最高优先级
可能的解决方案 (winapi SHELLEXECUTE) - 真的很讨厌丑陋的#ifdef,但可以作为一个选择
PS:抱歉英语不好。
最佳答案
我不认为这真的是您的应用程序的问题。我认为更多的是关于 Chrome 如何处理此类调用。在您的位置上,我会选择 winpai SHELLEXECUTE 解决方案。与将默认浏览器调用移动到操作系统而不是 Qt 库的好处相比,#ifdef 并不是真的难看。
关于c++ - QDesktopServices::openUrl() 无法在 Windows 上的 chrome 中打开页面。解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16103589/