[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