2009-05-16 11 views
2

私は100以上のエントリを持つコンボボックスを持っており、スクロールバーを使いこなすのは非常に面倒です。gtk.ComboBoxEntryの内部にスクロールバーを配置するにはどうすればよいですか?

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

私は絵にあるまさにやりたいです。右のスクロールバーを使うと、項目を移動するのが簡単になります。私はgtk.Comboを使ってその例を作りましたが、問題は廃止されました。

さんとどうやったらいいでしょうか?具体的にはです。

答えて

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() 
関連する問題