c – QTextEdit需要花费越来越多的时间来绘制文本

我正在使用QTextEdit,我以1Hz的速率更新文本(特别是set
HTML).

最初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的缺陷

点赞