【问题标题】:How to prepend text to QPlainTextEdit in Qt and keep scrollbar steady?如何在 Qt 中将文本添加到 QPlainTextEdit 并保持滚动条稳定?
【发布时间】:2017-04-23 10:44:58
【问题描述】:

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

当我想在末尾添加文本时,我可以使用提供的appendPlainText() 函数非常简单地做到这一点。当垂直滚动条到达下边界并且用户在此之后滚动时,我会执行此操作,然后我会附加新文本。这执行得非常顺利。

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

【问题讨论】:

  • 你能发布你目前正在尝试的代码吗?

标签: c++ qt


【解决方案1】:

结合thisthat id go with

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

qpteQPlainTextEdit 的名称,text 是带有新文本的 QStringui 是指向您的UI::MainWindowQWidget 左右的指针。

不确定这是否符合性能(当然也不能很好地扩展)

【讨论】:

    猜你喜欢
    • 2012-11-13
    • 1970-01-01
    • 2015-03-06
    • 2022-01-13
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多