PyQt4 - "RuntimeError: underlying C/C object has been deleted" -


i keep getting runtimeerror i'm not sure how fix. here's i'm trying accomplish. want update qtablewidget values dynamically i'm clicking on different items in qtreeview. on part, code works except when click on second item , need update qtablewidgt when run "runtimeerror: underlying c/c object has been deleted". here's snippet of code:

def buildtable( self ):     ...     label in listoflabels :         attr = self.refattr[label]         self.table.setitem(row, 0, qtgui.qtablewidgetitem( label ) )          tableitem = qtgui.qtablewidgetitem( str(attr.getvalue()) )         self.table.setitem(row, 1, tableitem )         somefunc = functools.partial( self.updatevalues, tableitem, label )                               qtcore.qobject.connect(self.table, qtcore.signal('itemchanged(qtablewidgetitem*)'), somefunc)     def updatevalues(self, tableitem, label):     print '--------------------------------'     print 'updating text property value!!!'     print tableitem.text()     print label 

the compiler complains errors on line, "print tableitem.text()"

thx!

i believe issue binding callback qtablewidget item , making many many connections (bad). items can change. thus, can deleted making callback dead.

what want let itemchanged signal tell item changed, moment happens.

self.table = qtgui.qtablewidget() ... # once...ever...on init of table object qtcore.qobject.connect(     self.table,      qtcore.signal('itemchanged(qtablewidgetitem*)'),      self.updatevalues ) 

and in slot, receive item:

def updatevalues(self, tableitem):     print '--------------------------------'     print 'updating text property value!!!'     print tableitem.text() 

Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -