我正在使用
的视图层次结构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);
答案 0 :(得分:0)
通过升级到具有最新WebKit的Qt 5来解决它。但是它会带来新的麻烦,所以在切换到新发布的5.0.0之前,首先尝试其余的网页是否有效。