我有一个问题。调用textEditBox函数时,我的Addtext似乎没有更新。

这是我的Addtext:

void CTextBox::AddText(QString string, QString spriteString)
{

    textBrowser->setText(string + spriteString);
    update();

}

然后,另一个类调用该函数,并且应该将文本添加到textbox中,但不是。

最佳答案

您如何调用CTextBox::AddText()?当程序返回到事件循环时,update()仅安排paintEvent()供以后使用。那意味着

  • 您实际上需要有一个事件循环,即。在某些时候,您需要调用qApp->exec()
  • ,如果您想在阻塞的qApp->processEvents()或类似内容中完成任何工作,则需要给该程序一些时间以update()(在while() {...}之后插入)。

  • 编辑:想一想,如果您的程序在update()之后的某个时间返回到事件循环,则甚至无需调用processEvents()AddText,因此事件循环似乎确实存在问题。发布您的main.cpp,好吗?

    关于c++ - 无法更新文字编辑文字QT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8037878/

    10-12 20:44