[PyQt] overriding QSqlRelationalTableModel's data method

Scott Frankel frankel at circlesfx.com
Sun Apr 4 01:26:06 BST 2010


On Apr 3, 2010, at 5:16 PM, Scott Frankel wrote:

>
> On Apr 2, 2010, at 5:05 PM, Scott Frankel wrote:
>
>> I'm hoping to be able to adapt a QSqlRelationalTableModel object to  
>> display only specified item rows directly.  Using the view's  
>> setRowHidden() method is proving clunky.
>
>
>
> Apologies in advance for taking up more bandwidth with this data  
> model issue.
>
> I'm having a chicken-egg problem with retrieving data from my  
> subclassed QSqlRelationalTableModel object.
>
> 1)
> If I try to retrieve a record using the model's record() method with  
> a row argument, I get recursion errors:  RuntimeError: maximum  
> recursion depth exceeded
>
> 	item    = self.record(index.row())    # causes recursion errors
>
> 2)
> Following example code for custom models [Summerfield chapt 14] and  
> reviewing the select function in qsqlrelationaltablemodel.cpp, I've  
> tried overriding the model's select() method and populating a list  
> with item objects:
>
> 	item    = self.items[index.row()]     # overriding select() masks  
> data() method
>
> For some reason, overriding select in my QSqlRelationalTableModel  
> subclass prevents the data() method from being called.
>
> Is there another way to both retrieve SQL data and manipulate which  
> of it gets displayed in a view?
>
> Thanks!
> Scott
>


Example code attached:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: modelTest.py
Type: text/x-python-script
Size: 3134 bytes
Desc: not available
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20100403/58277eae/attachment.bin>
-------------- next part --------------












More information about the PyQt mailing list