【问题标题】:QML QWebView with non resizing content具有非调整大小内容的 QML QWebView
【发布时间】:2014-11-05 20:05:03
【问题描述】:

我使用 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 是否有明显的替代品来显示图像和布局文本?

【问题讨论】:

    标签: html qt qwebview qtquick2


    【解决方案1】:

    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
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多