[Tutor] Gtk - relational data display and edit

Walter Prins wprins at gmail.com
Tue Apr 26 17:55:36 CEST 2011


On 26 April 2011 16:34, <bodsda at googlemail.com> wrote:

> Hi,
>
> I am reading in data from a csv file which will be in a format like this
>
> User1, attrib1, attrib2
> User2, attrib1, attrib2
> Etc.
>

Why would the data be in this format?  Are you defining it?  Reason I ask is
that, relationally speaking, (e.g. database design-wise) this is a
denormalised representation and you'd do better to store a single attribute
per record.  E.g. have entities, User, Attrib, and have relationship table
User_Attrib that contains only user, attrib pairs.  But, maybe such ideas
are overkill for your app.



> And need to display this in a window. My initial thought was to use
> gtk.Entry widgets because I will need to edit this data, but I don't think
> this will work as I will also need to read the data back, in relation to the
> user column, e.g I will have something like
>
> [Psuedocode]
> For I in entries:
>    A = usercolumn
>    B = attrib1column
>    C = attrib2column
>
>    Somefunction(A,B,C)
> [/psuedocode]
>
> I don't think I could use this method with entry boxes as I have no idea
> how many entries there will be (column length will be fixed) so I can't
> create the entry widgets beforehand
>
> Anyone have any suggestions?
>

Well if you can count the number of entries on reading the file (whatever
the shape of the file) then in principle you can dynamically create the
correct number of entry boxes on the fly.  Of course, if you store one
attribe per record, then counting the number of attributes (records) for a
given user becomes quite easy of course. But even if you don't do this, and
you have the file structure you described, you can code reader code that
would internally store the attributes and the number of attributes for each
user, enabling you to write code to create the UI with the appropriate
number of entry widgets.

Walter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110426/2370de08/attachment.html>


More information about the Tutor mailing list