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 插入文本的主要内容,如果未能解决你的问题,请参考以下文章