簡體   English   中英

QML ScrollView 滾動到底部

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM