首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyqt QTableWidgetItem连接信号

pyqt QTableWidgetItem连接信号
EN

Stack Overflow用户
提问于 2012-06-26 08:59:11
回答 1查看 8.4K关注 0票数 1

当我改变一个单元格中的值时,我试图让我的QTableWidget调用一些函数。

代码语言:javascript
复制
self.table = QtGui.QTableWidget()  
tableItem = QtGui.QTableWidgetItem( str(attr.GetValue()) )
self.table.setItem(row, 1, tableItem )
QtCore.QObject.connect(self.table, QtCore.SIGNAL('currentItemChanged(QTableWidgetItem*, QTableWidgetItem*)'), someFunc)  

我的问题是,我一进入单元格,它就会立即调用函数,甚至在我对单元格进行值更改之前。出于某种奇怪的原因,它还会调用该函数两次。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-26 09:23:22

我想你用错了信号。currentItemChanged是指选择。不适用于数据发生更改的情况。尝试使用itemChanged

代码语言:javascript
复制
self.table.itemChanged.connect(someFunc) 

还要注意的是,我使用的是Qt4.5中引入的new-style signal slots。您不必再为指定C++签名而烦恼了。

至于你的信号触发了多次,这要么是因为每次选择发生变化时它都会触发,而你没有意识到这一点,要么是你设法将其连接了不止一次。

作为参考,用于连接此信号的旧样式语法为:

代码语言:javascript
复制
QtCore.QObject.connect(
    self.table, 
    QtCore.SIGNAL('itemChanged(QTableWidgetItem*)'), 
    someFunc
) 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11199489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档