Python GTK добавляет сигнал в поле со списком - PullRequest
0 голосов
/ 24 апреля 2010

Я создаю поле со списком, используя PyGTK:

fileAttrCombo = gtk.ComboBox(); 

Я хочу прикрепить обработчик сигнала для этого поля со списком. Этот обработчик сигнала обрабатывает, когда пользователь выбирает изменение в поле со списком.

Каков наилучший подход для этого?

Ответы [ 2 ]

2 голосов
/ 24 апреля 2010

У выпадающего списка есть «измененный» сигнал .

Это хороший минимальный пример использования.

#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk

class ComboBoxExample:
    def __init__(self):
        window = gtk.Window()
        window.connect('destroy', lambda w: gtk.main_quit())
        combobox = gtk.combo_box_new_text()
        window.add(combobox)
        combobox.append_text('Select a pie:')
        combobox.append_text('Apple')
        combobox.append_text('Cherry')
        combobox.append_text('Blueberry')
        combobox.append_text('Grape')
        combobox.append_text('Peach')
        combobox.append_text('Raisin')
        combobox.connect('changed', self.changed_cb)
        combobox.set_active(0)
        window.show_all()
        return

    def changed_cb(self, combobox):
        model = combobox.get_model()
        index = combobox.get_active()
        if index:
            print 'I like', model[index][0], 'pie'
        return

def main():
    gtk.main()
    return

if __name__ == "__main__":
    bcb = ComboBoxExample()
    main()
0 голосов
/ 21 сентября 2012

попробуйте заменить «if index:» на «if index! = None:» для получения 1-го значения в выпадающем списке, индекс которого равен 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...