c++ - QTextEdit 中不可编辑的文本

标签 c++ qt

像这样替换文本

QTextCursor cursor = mpEditor->textCursor();

cursor.beginEditBlock();

mpEditor->insertPlainText( inTxtReplace );

cursor.endEditBlock()

从视觉上看,一切都井井有条。但如果你尝试编辑文本,那是无稽之谈,字符是叠加的,你不能添加任何东西。我的错误在哪里?

最佳答案

问题是您没有阅读文档。

参见QPlainTextEdit::readOnly .

此外,如果您使用文本光标,请使用它来修改文档:

QTextCursor cursor = mpEditor->textCursor();
cursor.beginEditBlock();
cursor.select(QTextCursor::Document);
cursor.insertText(inTxtReplace);
cursor.endEditBlock()

关于c++ - QTextEdit 中不可编辑的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45785961/

相关文章:

c++ - 将 g++ 编译错误消息从 TMB 库导出到文本文件

c++ - Makefile - 使用修改后的头文件重建

c++ - 如何将 QGraphicsProxyWidget 放在 QGraphicsGridLayout 上?

qt - 自定义 QListWidget 上的滚动条

c++ - 当鼠标悬停在 QListWidget 上时,Qt 鼠标跟踪根本不起作用

c++ - 有没有办法让 C++ 析构函数急切地被调用?

c++ - C++标准是否允许未初始化的bool使程序崩溃?

c++ - 如果我们在 STL 容器中传递用户定义的对象,对象销毁的顺序是什么?

windows - 在 Windows App 上提交基于 Qt 的应用程序

qt - 基于小数点的中心文本 QML 类型