Как разместить полосу прокрутки внутри gtk.ComboBoxEntry?

StackOverflow https://stackoverflow.com/questions/873328

  •  22-08-2019
  •  | 
  •  

Вопрос

У меня есть Combobox с более чем сотней записей, и просматривать его без полосы прокрутки очень неудобно.

альтернативный текст http://img211.imageshack.us/img211/6972/screenshotprubapy.png

Я хочу сделать именно то, что на картинке.С полосой прокрутки справа, чтобы было легче перемещаться по записям.Для создания этого примера я использовал gtk.Combo, но проблема в том, что он устарел.

Мне нужен пример того, как бы вы сделали то, что точно изображение.

Это было полезно?

Решение

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()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top