WebKit打破了标准窗口打开/保存对话框

时间:2015-09-04 10:02:09

标签: c++ qt winapi webkit qwebview

我们的团队正在使用Qt 4.7.4开发复杂的应用程序。我们提供的一个关键功能需要由QWebBrowser呈现的HTML + JS内容。

问题是加载某些页面会导致打开/保存对话框失效:

enter image description here

对话框在交互方面仍然“有效”:文件过滤器组合框可以打开,文件名可以输入,但所有这些都是错误的。根本没有绘制文件列表和目录树。

我发现在Qt bug跟踪器和谷歌上没有关于此问题的错误报告。我们认为问题是我们项目的本地问题。我们假设某些comctl32.dll内部结构被某人对无效地址的写操作破坏,但我们不知道如何捕获真正的原因。 另外值得一提的是,这个问题不会出现在Qt 5.4和任何版本的Windows 8.0以下。不幸的是,我们应该在Qt 4.8上构建下一个版本(项目很大,升级过程需要很长时间)。

如何调试此类问题?应该挂钩哪些内存操作和/或WinAPI调用?任何想法都受到高度赞赏。

工具链是MSVC 9.0(VS 2008)

2 个答案:

答案 0 :(得分:4)

Qt 4.7(4.8也是)现在已经很老了,尘土飞扬。它不支持Windows> 7 AFAIK。你一定要切换到Qt 5.

答案 1 :(得分:3)

您是否在其他计算机上试用过您的应用程序? 喜欢这件事也发生在我正在努力的8台机器上。有几天我不知道该怎么做,毕竟我已经尝试过win 7 pc并且它有效。我认为我的机器出了问题,但它看起来不是。