python QTableWidget单元格更改信号cellChanged()的使用
一、关于cellChanged的基础知识
1、tablewidge官方文档的传送门
2、下面是关于cellChanged的描述
void QTableWidget::cellChanged(int row, int column)
This signal is emitted whenever the data of the item in the cell specified by row and column has changed.
This function was introduced in Qt 4.1.
每当由行和列指定的单元格中的项目数据发生更改时,就会发出此信号。
这个函数是在 Qt 4.1 中引入的。
二、绑定事件的方法
1.在代码初始化时绑定

2.在GUi图形的py文件中绑定
利用Qt design

将ui转py文件就会自动绑定。
三、使用中的烦恼
往往在初始化时会自动的写入data,但是会触发这个cellChanged()信号。我们一般希望的是用户更改时触发函数而不是程序写入时触发。
解决方法,在写入data的时候进行阻塞,写完之后释放
# 由于这里会触发信号槽,所以我们先阻断信号
self.tableWidget.blockSignals(True)
self.tableWidget.blockSignals(False) #释放,开始监听信号
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
