在QML TextInput中显示长字符串的开头而不是结尾

时间:2019-04-23 15:23:09

标签: qt qml qtquick2

我有一个TextInput QML(Qt 5.12.2)控件,该控件包装在我预先用字符串填充的Rectangle项目(用于样式设置)中。有时,该字符串可能长于TextInput的最大宽度。发生这种情况时,文本输入中的文本将显示字符串的结尾,如下所示:

TextInput with end of string displayed

但是,我希望TextInput中的文本从这样的字符串开始显示:

TextInput with start of string displayed

以下是复制此示例:

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    visible: true
    width: 640
    height: 480
    Rectangle {
        border.width: 1
        border.color: 'black'
        height: childrenRect.height
        width: 600
        clip: true
        TextInput {
            width: parent.width
            text: "1. The quick bown dog jumps over the lazy dog. 2. The quick bown dog jumps over the lazy dog. 3. The quick bown dog jumps over the lazy dog. 4. The quick bown dog jumps over the lazy dog."
        }
    }
}

我尝试将autoScroll设置为false,这确实使它以我想要的方式显示,但是如果用户想阅读文本的末尾,也无法使用户滚动文本。还有什么我可以解决的吗?

1 个答案:

答案 0 :(得分:1)

您可以使用ensureVisible方法:

[read "NaN" :: Double]