Frage

Ich habe eine Combobox mit über hundert Einträge und es ist sehr umständlich mit einem Scrollbar zu überfliegen.

alt text http://img211.imageshack.us/img211/6972/screenshotprubapy .png

Ich will genau das tun, was im Bild ist. Mit der Bildlaufleiste auf der rechten Seite, so würde es einfacher sein, durch die Einträge zu bewegen. Ich benutzen gtk.Combo, um dieses Beispiel zu machen, aber das Problem ist, dass ist veraltet.

Ich brauche ein Beispiel dafür, wie würden Sie tun, was ist genau das Bild.

War es hilfreich?

Lösung

import pygtk
import gtk
import gobject

def window_delete_event(*args):
    return False

def window_destroy(*args):
    gtk.main_quit()

if __name__ == '__main__':
    win = gtk.Window()

    # combo's model
    model = gtk.ListStore(gobject.TYPE_STRING)
    for n in xrange(100):
        model.append([str(n)])

    # combo
    combo = gtk.ComboBoxEntry(model)
    win.add(combo)

    # combo's style
    style = gtk.rc_parse_string('''
        style "my-style" { GtkComboBox::appears-as-list = 1 }
        widget "*.mycombo" style "my-style"
    ''')
    combo.set_name('mycombo')
    combo.set_style(style)

    win.show_all()
    win.connect('delete-event', window_delete_event)
    win.connect('destroy', window_destroy)
    gtk.main()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top