【问题标题】:QTextEdit insert textQTextEdit 插入文本
【发布时间】: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() 成功了吗?
  • 嗯,你说得对,我做了递归……该死的
  • 关于更新:您是指整个文本的颜色还是仅输入字符的颜色?
  • 输入字符的颜色,我需要用不同的颜色为不同的标签着色

标签: c++ qt


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多