On Tue, Jun 17, 2008 at 11:28 PM, Casey McGinty <[EMAIL PROTECTED]>
wrote:
> I'm trying to create a combobox object than can be sized smaller than the
> text. What is the best way to go about doing this?
>
>
Posting the solution to my previous question. Any comments are welcome. Hope
someone can use this in the future.
comboboxbasic.py
-----------------------------
#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
import gobject
import pango
class ComboBoxExample:
def __init__(self):
window = gtk.Window()
window.connect('destroy', lambda w: gtk.main_quit())
liststore = gtk.ListStore(gobject.TYPE_STRING)
liststore.append( ['Select a pie:'])
liststore.append( ['Apple'])
liststore.append( ['Cherry'])
liststore.append( ['Blueberry'])
liststore.append( ['Grape'])
liststore.append( ['Peach'])
liststore.append( ['Raisin'])
combobox = gtk.ComboBox(liststore)
cell = gtk.CellRendererText()
###########
# ellipsize the text box is the key to getting the '...' feature
cell.set_property( 'ellipsize', pango.ELLIPSIZE_END )
###########
combobox.pack_start(cell, True)
window.add(combobox)
combobox.add_attribute(cell, 'text', 0)
combobox.connect('changed', self.changed_cb)
combobox.set_active(0)
window.show_all()
return
def changed_cb(self, combobox):
model = combobox.get_model()
index = combobox.get_active()
if index:
print 'I like', model[index][0], 'pie'
return
def main():
gtk.main()
return
if __name__ == "__main__":
bcb = ComboBoxExample()
main()
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/