Как разместить полосу прокрутки внутри gtk.ComboBoxEntry?
-
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()
Не связан с StackOverflow