`
ydbc
  • 浏览: 766842 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

关于QTableWidgetItem占用内存的释放

 
阅读更多

目前做的项目中因为某些table中的数据是定时刷新的,而且行数是不固定的。我以前做的每次都给new一个QTabelWidgetItem,结果每次都会申请内存。但是由于不能当次释放,所以只能考虑在下次刷新时删除上次的分配的内存。

可以用如下方法:

每次获得一个表的rowCount,然后遍历,通过ui.tableWidget->item(i,j)返回一个指针类型的item,文档里说了,如果没有设置item会返回0,所以我们就可以就行判断了,if(item) 然后delete item;就可以了。

这样就在每次刷新的时候释放了上次的申请的内存,从而避免内存不断增加下去。

分享到:
评论

相关推荐

    QTableWidget Item文本显示不全(文本溢出)

    QTableWidget item文本显示不全的通过气泡提示出来,如果item内容是完全显示的则气泡不会出现。只有显示不全时气泡才会出现。效果图:https://blog.csdn.net/qq_41622002/article/details/111224339

    QCheckBoxTableWidget.zip

    要实现表头带复选框的QTableWidget,我们需要自定义一个QTableWidgetItem子类,该子类继承自QTableWidgetItem,并且包含一个QCheckBox。然后,在设置表头时,我们将这个自定义的QTableWidgetItem实例作为表头的item...

    QTableWidget中嵌入多个复选框

    QTableWidgetItem *checkBoxItem = new QTableWidgetItem(QTableWidgetItem::Type); ``` 2. **设置复选框**:将创建的`QTableWidgetItem`插入到`QTableWidget`中,指定行和列位置。然后,可以使用`setCheckState()`...

    Qt中使用QTableWidget绘制数据表格的实例

    QTableWidget是一个基于QTableView和QTableWidgetItem的组件,它提供了完整的表格功能,包括添加、删除、编辑单元格等。在创建QTableWidget时,你需要指定行数和列数,这些行和列会自动初始化为空的单元格。 创建...

    QTableWidget_CheckBox

    首先,我们需要理解QTableWidgetItem类,它是QTableWidget中的基本元素,代表表格中的一个单元格。QTableWidgetItem提供了一些内置的类型,如Int、String等,但默认并不支持CheckBox。因此,我们需要自定义...

    TEST_QTableWidget.zip

    ButtonTableWidgetItem(QTableWidgetItem::Type type) : QTableWidgetItem(type) {} void addButton(const QString &text) { QPushButton *button = new QPushButton(text); buttonsLayout.addWidget(button); ...

    QTableWidget实现复选框与自定义编辑

    针对QTableWidget实现复选框、编辑功能的demo,在原生可编辑功能上进行了自定义功能的封装,参考此案例可进行自行扩展更多自定义需求开发,针对有自定义功能需求的开发者有一定启发作用,其中包含完整案例,本项目...

    QTreeWidgetItem的setData(int column,int role,QVariant& data)等,

    比如QTableWidgetItem的setData(int column,QVariant& data)和QTreeWidgetItem的setData(int column,int role,QVariant& data)等,通过setData函数我们可以为每个单元格保存自己想绑定的数据及为每个树节点保存想...

    QTableWidget表头添加复选框实现全选功能

    首先,我们需要了解`QTableWidgetItem`,它是`QTableWidget`中的基本单元格元素,通常用来存储和显示数据。然而,`QTableWidgetItem`并不直接支持复选框,因此我们需要借助其他方法来实现这一功能。 一种方法是通过...

    QTableWidget思维导图

    * `newitem = QTableWidgetItem("abcd")`:创建一个新的表格单元格项。 * `newitem.setIcon(QIcon(QPixmap("./icon/m1.png")))`: 设置单元格的图标。 * `newitem.setTextAlignment(Qt.AlignVCenter)`:设置单元格的...

    QTableWidget表头添加复选框

    为了实现这一功能,我们需要自定义`QTableWidgetItem`类,这是`QTableWidget`中用于表示表格项的类。 1. **创建自定义`QTableWidgetItem`** 首先,我们需要创建一个继承自`QTableWidgetItem`的子类,添加一个复选...

    Qt qtablewidget与CSV文件的关系

    QTableWidgetItem *item = new QTableWidgetItem(items[i]); ui->tableWidget->setItem(row, column, item); // 更新行索引,增加新行 row++; } } file.close(); } ``` 反之,将QTableWidget中的数据导出到...

    qt QtableWidget使用例子

    1. **性能优化**:避免不必要的数据拷贝,合理使用模型/视图架构可以减少内存占用。 2. **自适应布局**:确保QTableWidget随窗口大小变化而调整,可以使用QLayouts实现。 3. **用户体验**:提供清晰的反馈,如编辑...

    QTableWidget详解

    QTableWidgetItem *item = new QTableWidgetItem("Hello"); table->setItem(0, 0, item); ``` 2. 设置表头:使用`setHorizontalHeaderLabels`和`setVerticalHeaderLabels`来设置行头和列头。 ```cpp QStringList...

    QTableWidget.rar

    如果你需要自定义单元格的行为或外观,可以通过继承`QTableWidgetItem`并重写其方法,或者使用`QTableWidgetItem::setData()`和`QTableWidgetItem::data()`来存储自定义数据。 总结来说,`QTableWidget`在Qt开发中...

    Qt读写Xml文件到QTableWidget.rar

    - 可以通过`QTableWidgetItem::setText()`或`QTableWidgetItem::setData()`设置单元格内容。 3. **XML文件写入**: - 创建一个新的`QDomDocument`对象,定义根节点。 - 根据QTableWidget的行数和列数,逐行逐列...

    Qt实现表格密码显示

    class PasswordItem : public QTableWidgetItem { public: void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { painter->save(); painter->drawText(option....

    QTableWidget使用实例

    首先,QTableWidget的创建需要导入必要的模块,例如`QtWidgets`中的`QTableWidget`和` QTableWidgetItem`。`QTableWidgetItem`是用于填充单元格的数据对象。下面是一个基本的QTableWidget创建过程: ```python from...

    QTableWidget的应用例子

    QTableWidgetItem *item = new QTableWidgetItem("Cell " + QString::number(row+1) + "," + QString::number(col+1)); table->setItem(row, col, item); } } ``` 在`QTableWidget`中,每一行和每一列都可以通过...

    QTableWidget实现大数据分页快速显示.zip

    这样可以显著减少内存占用,提高界面响应速度。具体实现方式如下: 1. **动态创建Item**: 只创建当前页面所需的QTableWidgetItem对象,而不是一次性创建所有数据项。这减少了内存开销,因为QTableWidgetItem是一个...

Global site tag (gtag.js) - Google Analytics