[英]QML ScrollView Scroll to Bottom
我有一個滾動視圖,其中 Uart 數據進入文本字段。 我希望一旦有新數據進入,文本字段就一直向下滾動。不幸的是,我沒有找到如何做到這一點。
這是我嘗試過的: Page2Form.ui.qml:
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.3
Page {
width: 600
height: 400
property double scrollPosition
ScrollView {
id: scrollviewUart
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
ScrollBar.vertical.policy: ScrollBar.AlwaysOn
ScrollBar.vertical.position: scrollPosition
Layout.fillHeight: true
Layout.fillWidth: true
TextArea {
id: textAreaUartRx
anchors.fill: parent
text: uartTextRx.text
}
}
}
Page2.qml:
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Controls.Styles 1.4
import QtQuick.Extras 1.4
Page2Form {
textAreaUartRx.onTextChanged: {
scrollPosition : 1 //also 0 does not change
}
}
但是,在這種情況下,滾動字段總是跳到頂部。 我該如何正確地做到這一點?
您正在設置變量,但從不重置滾動條 position。 這樣做: scrollviewUart.ScrollBar.vertical.position = scrollPosition
以下幫助了我:
scrollView.ScrollBar.vertical.position = scrollView.contentHeight
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.