如何在gtk.ComboBoxEntry中添加滚动条?

2 投票
1 回答
1753 浏览
提问于 2025-04-15 11:38

我有一个下拉框,里面有一百多个选项,没有滚动条的话,浏览起来非常麻烦。

这里有张图片,展示了我想要的效果 http://img211.imageshack.us/img211/6972/screenshotprubapy.png

我想要的就是图片里那样,右边有个滚动条,这样就能更方便地浏览选项。我用gtk.Combo做了个例子,但这个方法已经过时了。

我需要一个示例,告诉我怎么做出和图片里完全一样的效果。

1 个回答

2
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()

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。

撰写回答