2

在文本区域中:

TextArea
{
   id: outputText
   readOnly: true
   anchors.fill: parent
}

当我附加文本时

outputText.append( "someText" )

文本区域自动滚动到底部。

有没有办法关闭自动滚动?

谢谢,斯科特

4

2 回答 2

0

如果您查看 textArea 代码源:

https://qt.gitorious.org/qt/qtquickcontrols/source/73afeab85fea60e2ce3f19b47becffc1e45a7165:src/controls/TextArea.qml#L420-433

你会看到 append 函数:

function append (string) {
    edit.append(string)
    __verticalScrollBar.value = __verticalScrollBar.maximumValue
}

所以如果你总是希望滚动条向上,你可以添加:

outputText.__verticalScrollBar.value = outputText.__verticalScrollBar.minimumValue

但是,如果您希望滚动条在添加文本时保持在原位,您应该这样做:

outputText.text += (outputText.text ? "\n" : "") + "someText";
于 2014-06-25T15:55:18.830 回答
0

不知道如何禁用滚动,但如果你更换视图将保持在顶部..

outputText.append(msg)

和..

outputText += msg
于 2014-06-24T22:19:44.987 回答