QML QWebView具有非调整大小的内容

时间:2014-11-05 20:05:03

标签: html qt qwebview qtquick2

我使用Qt Quick 2.2和QML WebView 3.0。我的应用程序有固定大小的区域,应该在其中显示HTML(主要是文本和图像,没有复杂的布局,没有JS,没有CSS)。我自己写HTML。 HTML内容不应水平滚动而不能缩放,但文本会重新调整以适应浏览器的宽度。

在普通网络浏览器中打开http://en.wikipedia.org/wiki/Daft_Punk会显示我想要的行为(根据宽度重新布置文字)。

这个最小的代码示例显示了我有和不想要的行为,它会扩展网站并保持布局不变。

import QtQuick 2.2
import QtQuick.Controls 1.1
import QtWebKit 3.0

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    WebView {
        url: "http://en.wikipedia.org/wiki/Daft_Punk"
        anchors.fill: parent
    }
}

有办法做到这一点吗?如果没有,是否有明显的QWebView替代方案来显示图像和布局文本?

1 个答案:

答案 0 :(得分:2)

QML WebView似乎是专为手机等小屏幕设计的,因此它会重新调整整个页面以适应宽度。

幸运的是,有一个未记录的解决方法:设置一个小的首选最小宽度,使缩放触发器的尺寸更小。缺点是,如果您将窗口调整到最小值以下,则会产生不必要的副作用。

以下是您首选的最小解决方法示例:

import QtQuick 2.2
import QtQuick.Controls 1.1
import QtWebKit 3.0
import QtWebKit.experimental 1.0 // Use QtWebKit's experimental features

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    WebView {
        url: "http://en.wikipedia.org/wiki/Daft_Punk"
        anchors.fill: parent
        experimental.preferredMinimumContentsWidth: 300 // Set the min width
    }
}