[PyQt] QAbstractTableModel problems in PyQt4
    Mark Summerfield 
    mark at qtrac.eu
       
    Mon Nov  5 10:13:31 GMT 2007
    
    
  
On 2007-11-05, Vladimir Pouzanov wrote:
> Hi all,
>
> I'm trying to implement a table model:
> class AModel(QtCore.QAbstractTableModel):
>     def __init__(self, parent=None):
>         QtCore.QAbstractTableModel.__init__(self, parent)
>
>     def rowCount(self, parent=QtCore.QModelIndex()):
>         print "row count rq"
>         return 3
>
>     def columnCount(self, parent=QtCore.QModelIndex()):
>         print "col count rq"
>         return 3
>
>     def data(self, idx, role=QT.DisplayRole):
>         print "data rq"
>         return QtCore.QVariant("test")
>
> ...
>
> self.ui.tableView.setModel(AModel())
>
> the problem is that data is never called (rowCount/columnCount are called
> three times each), so nothing is rendered. What do I mess?
There might be a problem with this:
    self.ui.tableView.setModel(AModel())
I think that the AModel instance needs to be kept alive, either by
giving it a parent or by making it an instance variable, for example
(untested):
    self.model = AModel()
    self.ui.tableView.setModel(self.model)
    # OR
    
    self.ui.tableView.setModel(AModel(self))
-- 
Mark Summerfield, Qtrac Ltd., www.qtrac.eu
    
    
More information about the PyQt
mailing list