[Tutor] How to add extra Vbox fields dynamically

Lang Hurst lang at tharin.com
Sun Jun 20 04:04:48 CEST 2010


OK, I just did the ugliest hack, from someone who only seems to do ugly 
hacks.  I set up a bunch of textview areas and defaulted them to 'not 
visible'.  Then as I loop through my query results, I make them visible 
one at a time.  Well, it works perfect, but it just doesn't seem right 
for some reason.

Lang Hurst wrote:
> 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]
>    cursor.execute(query)
>    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 +
>    "\n\n"
>
>        # I would like to loop something here
>         # to have multiple text areas added
>
>    buff = self.builder.get_object('textview1').get_buffer()
>    buff.set_text(temp)
>
>
> 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.
>
>
> -Lang
>


-- 
There are no stupid questions, just stupid people.



More information about the Tutor mailing list