【发布时间】:2016-07-21 15:42:24
【问题描述】:
我有以下 QML,并尝试在 ListView 周围添加 ScrollView:
import QtQuick 2.7
import QtQuick.Controls 2.0 // Works if 1.4 is specified
import QtQuick.Layouts 1.0
Item {
width: 600
height: 400
property alias textOutput_listView: textOutput_listView
property alias doOffsetGainCal_button: doOffsetGainCal_button
Button {
id: doOffsetGainCal_button
x: 40
y: 38
text: "Do Offset/Gain Cal"
}
ScrollView {
ListView {
id: textOutput_listView
x: 40
y: 99
width: 300
height: 256
model: textOutputListModel
delegate: Rectangle {
x: 0
y: 0
width: 100
height:18
Text { text: modelData }
}
Rectangle {
id: rectangle2
color: "#ffffffff"
visible: true
z: 1
anchors.fill: parent
border.color: "#7d7d7d"
opacity: 0.2
}
}
}
}
但是,如果我导入 QtQuick.Controls 2.0,则 ScrollView 会报告为“不是类型”。如果我导入 1.4 就可以了。
谷歌搜索并未表明 ScrollView 已被弃用或替换。
我期望 QML 组件的版本取代旧的组件是错误的 - 这意味着我应该导入 2.0 和 1.4 吗?
【问题讨论】:
-
谷歌搜索错误:见here。引入新控件的要点是提供 LIGHTWEIGHT 控件。查看链接页面,简要介绍两个模块之间的区别。
-
@BaCaRoZzo - 谢谢。该页面同时包含“Scrollview”和“replaced”,但不在这两个术语的 Google 结果的前五页中。这对我来说似乎很奇怪。
-
@SteveFallows 我只是在猜测,但这可能是因为它相当新?或者也许 qt.io 做错了什么。我不知道。我经常使用 Google 来查看参考页面,而且很多时候,即使是已经存在了一段时间的内容也不会出现在页面顶部。
标签: qt qml qtquickcontrols2