C++ QProgressBar使应用程序消耗大量内存

C++ QProgressBar使应用程序消耗大量内存,c++,qt,qtgui,qprogressbar,C++,Qt,Qtgui,Qprogressbar,几天甚至几周来,我一直在寻找我的应用程序中的内存泄漏。直到我找到这个,我才找到它的位置: 检查完所有内容后,我发现每当Qt呈现进度条的状态时,QProgressBar占用了太多内存。在我的例子中,我还改变了进度条的大小,因此它使Qt能够记住越来越多的读者 它每天大约需要20MB,而且由于我的应用程序是一个全天候的应用程序,因此无法适应这种情况 我的解决方案是让进度条始终保持相同的大小,但我的客户希望QProgressBar更改大小 有人知道如何将内存使用限制在一定范围内吗 干杯 系统: 赢7航

几天甚至几周来,我一直在寻找我的应用程序中的内存泄漏。直到我找到这个,我才找到它的位置:

检查完所有内容后,我发现每当Qt呈现进度条的状态时,
QProgressBar
占用了太多内存。在我的例子中,我还改变了进度条的大小,因此它使Qt能够记住越来越多的读者

它每天大约需要20MB,而且由于我的应用程序是一个全天候的应用程序,因此无法适应这种情况

我的解决方案是让进度条始终保持相同的大小,但我的客户希望
QProgressBar
更改大小

有人知道如何将内存使用限制在一定范围内吗

干杯

系统:

赢7航空 Qt 5.0.2 VisualStudio2010 增加1.52
没有MFC,没有ATL一些可能的解决方法:

1) 升级到Qt的新版本,在该版本中修复此错误(如果存在)

2) 使用不包含此错误的其他QStyle(如CmdrMoozy所建议)

3) 从源代码编译Qt并修补Qt源代码以修复此错误;分发经过修补的Qt版本


4) 编写您自己的进度条类(即子类QWidget和override paintEvent()),并使用它代替QProgressBar。

值得一提的是,您链接的bug特定于Oxygen Qt样式,不一定存在于其他(即Windows本机)样式中。我知道该bug可能不在Windows中,因为它是KDE中的一个bug。但那篇文章促使我发现了这一点。