【问题标题】:How to setText for QPlainTextEdit?如何为 QPlainTextEdit 设置文本?
【发布时间】:2015-08-05 04:50:16
【问题描述】:

Qt5 的文档没有提到 QPlainTextEditQTextEdit 那样有 setText(QString)。但是,我不认为这是不可能的。我发现的唯一方法是使用QTextDocument,它可以有setPlainText(const QString& text)。所以我必须这样做:

plain_text_edit->setDocument(text_document);

问题是text_document 应该是一个指针。不像QTextEditsetText 可以将局部变量作为参数。那么,setTextQPlainTextEdit 一样有什么办法吗?

【问题讨论】:

    标签: qt qt5 settext


    【解决方案1】:

    很简单,就get the current documentset its text

    plain_text_edit->document()->setPlainText(text);
    

    另一种方式,只需拨打this method

    plain_text_edit->setPlainText(text);
    

    您还可以通过多种方式使用text cursor of the editor 来实现此目的,最简单的是通过selecting 整个现有文本(假设编辑器不为空),然后执行plain_text_edit->TextCursor().insertText(text);(用通常的粘贴语义替换当前选定的文本),但是对于替换所有文本的简单情况,这过于复杂了。

    【讨论】:

    • plain_text_edit->setPlainText(text);似乎也有效
    • @peter70 有趣的是我错过了,但发现 appendPlainText... 似乎也不是最近添加的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2022-08-16
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多