我写了这样的QML:
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import App 0.1
ApplicationWindow {
id: appWindow
visible: true
width: 300
height: 500
ColumnLayout {
ScrollView {
ColumnLayout {
Text {
width: 250
text: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
wrapMode: Text.WrapAnywhere
}
}
}
}
AppController {
id: controller
}
}
这是视觉结果:
我想将Text
包裹在ScrollView
内。我尝试了很多模式,但未能达到预期效果。我怎么能这样做?
答案 0 :(得分:2)
只需删除ColumnLayout
,此处不需要。这对我有用(如果你正在寻找的话):
import QtQuick 2.2
import QtQuick.Controls 1.3
ApplicationWindow {
id: appWindow
visible: true
width: 300
height: 500
ScrollView {
anchors.fill: parent
Column {
Repeater {
model: 10
delegate: Text {
width: appWindow.width - 50
text: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
wrapMode: Text.WrapAnywhere
}
}
}
}
}
尽量避免固定尺寸。在您的情况下,Text
不会对窗口大小调整做出反应。此外,在提供代码片段时,只需删除AppController之类的特定片段(即使在这种情况下它没什么大不了的,但任何人都可以更轻松地运行和测试代码):)
希望这有帮助!