PySide2:如何通过按钮清空QTableView并销毁关联模型
实现QTableView模型销毁与清空显示
步骤1:绑定按钮点击信号
给clear_button绑定点击事件到自定义槽函数:
self.clear_button.clicked.connect(self.on_clear_table)
步骤2:编写清空逻辑的槽函数
在槽函数中完成模型解绑、视图清空和模型销毁:
def on_clear_table(self): # 将视图模型设为None,直接清空显示内容 self.output_list.setModel(None) # 解除原模型引用,触发垃圾回收销毁模型 if self.model is not None: self.model.deleteLater() # 让Qt事件循环安全销毁对象 self.model = None
关键说明
- QTableView设置
setModel(None)后会自动清空所有行、列的显示,无需额外处理。 deleteLater()是Qt推荐的对象销毁方式,确保对象在合适时机被清理,避免内存泄漏;Python环境下如果没有其他引用,仅置空self.model也能通过GC完成销毁,但结合deleteLater()更稳妥。
内容的提问来源于stack exchange,提问作者ghost654
相关产品推荐
相关产品推荐

