无法更新文本编辑文本 QT
Can't update Text Edit Text QT
我有一个问题。当我的Addtext
函数被调用时,我的textEditBox
似乎没有更新。
这是我的Addtext
:
void CTextBox::AddText(QString string, QString spriteString)
{
textBrowser->setText(string + spriteString);
update();
}
另一个类然后调用该函数,它应该向textbox
添加文本,但它没有。
如何调用CTextBox::AddText()?update()
只在程序返回事件循环时调度paintEvent()
。这意味着
-
你实际上需要有一个事件循环,即。有时候你需要调用
qApp->exec()
; -
你需要允许程序一些时间
qApp->processEvents()
(插入update()
之后),如果你想在阻塞while() {...}
或类似的东西内完成任何绘画。
编辑:想想看,如果你的程序在AddText
之后的一段时间返回到事件循环,你甚至不需要调用update()
或processEvents()
,所以事件循环似乎真的有问题。把你的主地址寄过来,好吗?
下面是一个简单的例子,它听起来像是您想要做的事情。也许你能看出你的设计有什么不同?
注意:不需要显式的update()
。我认为这是在转移注意力。我认为更有可能的是(1)你以某种方式用空字符串调用你的AddText
方法,或者(2)你的真实的文本编辑是一个不同的变量,并以某种方式创建了其中两个,正在更新一个只是存在于内存中,从未添加到布局。也许你的FileLoaderQT的代码会有所帮助?(你可以编辑你的问题,而不是发表评论。)
#include <QtGui>
int main(int argc, char **argv) {
QApplication app(argc, argv);
QMainWindow w;
QTextEdit *edit = new QTextEdit;
w.setCentralWidget(edit);
edit->setText("Hello world!");
w.show();
edit->append("Hello world again!");
return app.exec();
}
相关文章:
- QPainter 将 QBrush 设置为 在 QT/C++ 中绘制文本
- 无法将行编辑中的文本打印到 Qt C++ 中的标签
- 如何在 qt c++ 中更新 QWindow,文本不显示
- 试图打开并读取一个.txt文件,但它从原始文件中删除了实际文本(Qt GUI C++
- 在QT C++编辑Qtable模型数据时,我需要得到一个小盒子,我需要显示编辑文本,这怎么可能?
- QT 标签 setText() 同时保留文本格式
- Qt读取文本文件的一些信息
- 在 Qt C++ 中在自定义项委托上绘制文本时的性能问题
- Qt - 右键单击时编辑按钮文本
- 写入文本文件错误,QT
- Qt - 在QGraphicScene中拖放时如何从项目中获取文本?
- QT 创建器只会将第一个单词从文本编辑转换为纯文本
- QT 将文本翻译成特定的区域设置
- 文本颜色 QPlainTextEdit QT
- 使用文本格式来记录QT
- 使用C QT从当前窗口中获取所选文本
- Qt cpp - 将QString写入文本文件的干净方法
- 根据组合框中所选项目设置标签文本 (QT/C++)
- 无法更新文本编辑文本 QT
- 如何从按钮文本qt中删除和安全