QTextEdit 插入文本

Posted

技术标签:

【中文标题】QTextEdit 插入文本【英文标题】:QTextEdit insert text 【发布时间】:2014-03-22 15:13:11 【问题描述】:

如何在 QTextEdit 获得焦点时更改其内容?如果我在 QTextEdit 聚焦时尝试更改内容,我的程序将被终止。如果我使用 clearFocus(),什么都没有改变。

connect(ui->myTextEdit,SIGNAL(textChanged()),this,SLOT(hTextChanged()));
.
.
.
void hTextChanged()

    ui->myTextEdit->insertPlainText("blah");

编辑:当用户继续输入时,我需要在 QTextEdit 中更改文本(颜色),如何在没有 textChanged() 信号的情况下做到这一点?

【问题讨论】:

你应该发布一些代码来重现你的问题 请发布完整的演示。通过将信号连接到导致信号发射的插槽,您的 sn-p 看起来像一个无限循环。 hTextChanged() 实际上是一个插槽吗? connect() 成功了吗? 嗯,你说得对,我做了递归……该死的 关于更新:您是指整个文本的颜色还是仅输入字符的颜色? 输入字符的颜色,我需要用不同的颜色为不同的标签着色 【参考方案1】:

您的 sn-p 看起来像一个无限循环,将信号连接到导致信号发射的插槽。

关于您的更新: 使用 QSyntaxHighlighter 对象为文本着色(参见 Qt 文档)。

【讨论】:

以上是关于QTextEdit 插入文本的主要内容,如果未能解决你的问题,请参考以下文章

插入 QTextEdit 的 HTML 不符合样式表

QTextEdit 中的文本失真

重新加载 QTextEdit 文本

QTextEdit更改单个段落/块的字体

如何在 PyQt4 中从 QTextEdit 获取输入

文本编辑框QTextEdit