我正在使用QTextEdit
,并且以1Hz的频率更新文本(特别是setHTML
)。
最初,setHtml
方法是快速的(仅几毫秒)。但是运行12个小时后,返回setHTML
需要256毫秒,该数据是一个包含5列10行的简单表。
程序运行时间越长,这种增加就会继续。
有人知道发生了什么吗?而且,更重要的是,如何使它停止?
基本上我在做什么是:
// get the start time
boost::posix_time::ptime start_time = boost::posix_time::microsec_clock::universal_time();
display->setHtml(text);
boost::posix_time::ptime end_time = boost::posix_time::microsec_clock::universal_time();
boost::posix_time::time_duration time_diff = end_time - start_time;
m_renderTimeDebug = double(time_diff.fractional_seconds() / 1000 );
std::cout << "DRAW TIME; took " << m_renderTimeDebug << " ms " << std::endl;
这里的例子link
最佳答案
我发现此问题已在Qt 5.9中得到解决。
我假设这是Qt家伙发现并修复的。我针对Qt 5.8 QTBUG:61137写了一个缺陷
关于c++ - QTextEdit花费越来越多的时间来绘制文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44185713/