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