QGraphicsWebView错误地使用未使用的白条横向扩展(window.outerWidth>> window.innerWidth)

时间:2013-01-03 15:06:09

标签: qt jquery-mobile qt4 qtwebkit

我正在使用

的视图层次结构

QMainWindow > 中央小部件> QVBoxLayout > QGraphicsView(800x600已修复)>源自QGraphicsScene的> QGraphicsWebView (800x600)

当我加载jQuery Mobile支持的HTML文件并使用页面之间的水平幻灯片转换时,window.outerWidth的值增加到2400像素。但实际的页面宽度和window.innerWidth的值仍为800.然后,Web视图在左侧和右侧显示800像素宽的白条(水平滚动条也扩展为2400px),新的jQM“页面“ 在中间。右键单击白条,显示QtWebView上下文菜单,但右键单击中间工作。我启用了开发人员工具[1],它告诉我HTML,BODY和DATA-ROLE =“page”元素的正确宽度为800px。

这适用于Firefox和Chrome等浏览器,因此我认为这是Qt网络视图实施中的一个错误或我错过的设置。问题似乎来自这样的事实:在转换期间滑入/滑出的jQM页面被考虑用于宽度。为什么window.outerWidth得到这么错的值?请注意,Web视图上的任何大小策略都不起作用。还有什么想法我还能尝试吗?


[1]“检查”上下文菜单选项:

QWebSettings::globalSettings()->setAttribute(
    QWebSettings::DeveloperExtrasEnabled,
    true);

1 个答案:

答案 0 :(得分:0)

通过升级到具有最新WebKit的Qt 5来解决它。但是它会带来新的麻烦,所以在切换到新发布的5.0.0之前,首先尝试其余的网页是否有效。