如何在Qt中将文本添加到QPlainTextEdit并保持滚动条稳定?

时间:2017-04-23 10:44:59

标签: c++ qt

我有QPlainTextEdit,我必须以两种方式填充。

当我想在最后添加文本时,我可以使用提供的appendPlainText()函数非常简单地完成。我在垂直滚动条击中下边界时执行此操作,如果用户在此之后滚动,则我会附加新文本。这非常顺利。

但我想要做的是当用户向上滚动并且滚动条击中上边界时,如果用户在此之后滚动(向上方向),我想在其前面添加文本。但问题是没有这样的函数prependPlainText()因此,我首先从我的QPlainTextEdit得到明文,这是QString,使用prepend QString,然后将新文本附加到QPlainTextEdit。但问题是我将文本追加到QPlainTextEdit之后,滚动条会立即关闭,我想要的是将滚动条保持在上边界。  就像上一个场景中滚动条保持在下边界一样。

1 个答案:

答案 0 :(得分:0)

thisthat ID合并到

ui->qpte->document()->setPlainText(text + "\n" + ui->qpte->toPlainText());

qpteQPlainTextEdit的名称,textQString的新文字。 ui是指向UI::MainWindowQWidget左右的指针。

不确定这是否是性能明智的(当然也不能很好地扩展)