[Tutor] How to add extra Vbox fields dynamically

Timo timomlists at gmail.com
Sun Jun 20 11:16:30 CEST 2010


On 20-06-10 04:04, Lang Hurst wrote:
> 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.
You also posted this on the PyGTK mailing list, which is the correct 
place for these problems. Please post your PyGTK questions only there, 
do not double post. I'll answer you there.

Cheers,
Timo

>
> 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
>>
>
>



More information about the Tutor mailing list