[Tutor] How to add extra Vbox fields dynamically

Lang Hurst lang at tharin.com
Sun Jun 20 02:16:56 CEST 2010

I hope that I'm asking this in the right place.  I don't have too much 
trouble hacking together command line stuff, but the GUI part is a 
struggle for me.

I created a UI in glade.  It has a couple of Vboxes for information.  
The final box is filled with a TextView.  In my program, I'm connecting 
to a database and pulling out a series of records.  As it stands, I can 
pull out all the records and view them in the TextView, but I would like 
to be able to have each result be a separate TextView (which I then have 
to figure out how to make clickable...)

Right now, this part looks like:

    query = 'SELECT subject, chapter_module, credits, final_test_score,
    notes FROM credits WHERE id=' + student[0][6]
    credits = cursor.fetchall()
    temp = ''
    for credit in credits:
        sub_buf = 15 - len(credit[0])
        chap_buf = 15 - len(credit[1])
        cred_buf = 5 - len(credit[2])
        score_buf = 5 - len(credit[1])
        temp = temp + credit[0] + " " * sub_buf + credit[1] + " " *
    chap_buf + "Credits: " + credit[2] + " " * chap_buf +  "Score: " +
    credit[3] + "\n\nNOTES: " + credit[4] + "\n" + " " * 5 + "-" * 50 +

        # I would like to loop something here
         # to have multiple text areas added

    buff = self.builder.get_object('textview1').get_buffer()

This works fine.  It pulls the records out of the database, and then 
cats the results together and throws it into my TextView.  I'm happy 
with the results so far, but I would like to be able to click on each 
record if I see something that needs to be modified.  As always, any 
help is appreciated.

Also, can anyone recommend a good book for gtk + glade + python?  I went 
out and bought Learning Python, but book at B&N that were remotely GUI 
related seems very outdated or just tkinter related, and just about all 
the gtk+python examples and tutorials don't use glade.  Thanks again.


There are no stupid questions, just stupid people.

More information about the Tutor mailing list