我的应用程序似乎存在一些内存问题,我希望可以解决这个问题!
for x in range(self.record_count):
for y in range(self.field_count):
if y in string_columns:
# pass
end = string_block.find(struct.pack('B', 0), data[x][y])
self.table.setItem(x, y, QtGui.QTableWidgetItem(string_block[data[x][y]:end].decode(encoding)))
else:
# pass
self.table.setItem(x, y, QtGui.QTableWidgetItem(str(data[x][y])))
调用QTableView
的{{1}}的行在18x49109表上负责超过370MB的内存,其中大多数只是零,这看起来非常荒谬。我正在处理7MB数据库容器文件的数据,但是如何将pyqt4消耗的数量超过该数量的30倍呢?是内存效率低下还是我可能做错了什么呢?我只使用两个扩展PyQt4的类 - setItem()
和QMainWindow
,后者是QTableView
的中心窗口小部件。
谢谢!