私は に 3 を持っておりconnect function
、とpyQt
に関連して3 signal
います:one slot
one widget
QtCore.QObject.connect(self.tableWidget, QtCore.SIGNAL(_fromUtf8("itemClicked(QTableWidgetItem*)")),
lambda: self.materialsInstance.setFilterDict_Insert("TW",self,"imported_party_attributes",0,self.tableWidget.currentItem().row(),self.tableWidget.currentItem().column()))
QtCore.QObject.connect(self.tableWidget, QtCore.SIGNAL(_fromUtf8("cellChanged(int,int)")),
lambda: self.materialsInstance.setFilterDict_Insert("TW",self,"imported_party_attributes",0,self.tableWidget.currentItem().row(),self.tableWidget.currentItem().column()))
###clear cell and remove from dict
QtCore.QObject.connect(self.tableWidget, QtCore.SIGNAL(_fromUtf8("currentCellChanged(int,int,int,int)")),
lambda: self.materialsInstance.setFilterDict_Insert("TW",self,"imported_party_attributes",0,self.tableWidget.currentItem().row(),self.tableWidget.currentItem().column()))#,"currentCellChanged(int,int,int,int))"))
最初に 2 で問題はありませんでしたが、3 番目connect function
で次のトレースバックが表示されconnect function
ます。
Traceback (most recent call last):
File "/home/mohsen/codes/amlak/amlak/src/materialsInsertFrame.py", line 244, in <lambda>
lambda: self.materialsInstance.setFilterDict_Insert("TW",self,"imported_party_attributes",0,self.tableWidget.currentItem().row(),self.tableWidget.currentItem().column()))#,"currentCellChanged(int,int,int,int))"))
AttributeError: 'NoneType' object has no attribute 'row'
私は何の考えもありませんでしたSignal-Sloting
、あなたは持っていますか?
注:最初の 2 つconnect functions
は問題なく動作します。
私の質問signal
は、最初の 2と最後の違いは何signal
ですか?