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   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to