我使用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替代方案来显示图像和布局文本?
答案 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
}
}