Qt - QTableWidget表格操作
表格中数据清理:
1、不要使用removeRow()函数了,每次只能清空一行数据(列头会被清理)
2、使用clear()函数,清空整个tableWidget(行头和列头会被清理)
3、使用clearContent()函数,清空tableWidget内容(不清理行头和列头)
表格中数据修改触发自定义操作:
1、QTableWidget表格中的内容被修改时会触发itemChanged或cellChanged信号,
如果槽函数中对QTableWidget的单元格执行修改操作(如修改单元格内数据,修改单元格字体颜色等)
都会再次触发itemChanged或cellChanged信号然后去执行槽函数,会陷入无限循环。
解决办法:
1、阻塞方法blockSignals
# 进入槽函数 self.tableWidget.blockSignals(True) # 进入阻塞模式,该对象发送的信号都会被阻塞 '''执行相关槽函数程序''' self.tableWidget.blockSignals(False) # 退出阻塞模式,重新接受该对象发送的信号 # 退出槽函数
2、断开信号槽方法disconnect
# 进入槽函数:self.xxxxx self.tableWidget.itemChanged.disconnect(self.xxxxx) # 断开信号槽 '''执行相关槽函数程序''' self.tableWidget.itemChanged.connect(self.xxxxx) # 连接信号槽 # 退出槽函数:self.xxxxx
博客园文作者:Citrusliu
博文地址:https://www.cnblogs.com/citrus
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性