如何在多行富文本QML TextArea中滚动到特定行?有positionToRectangle,但是只接受一个位置,它似乎不适合多行文字。
答案 0 :(得分:1)
我建议尝试根据行号乘以行高来计算位置。您可以像这样计算一行的高度:
(textArea.implicitHeight - 2 * textArea.textMargin) / textArea.lineCount
这可能会帮助您使用positionToRectangle
。
编辑:事后,您是否尝试过设置cursorPosition
?
答案 1 :(得分:0)
TextArea
本身不能滚动(参见Scrollable TextArea):
如果要使TextArea可滚动,可以将其放置在ScrollView中。
然后,您只需要设置contentY
中的contentItem
:
ScrollView {
id: view
width: parent.width
height: 60
TextArea {
text: "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nL"
}
}
Button {
text: "scroll"
onClicked: view.contentItem.contentY += 10
}