gtk: найдите, относится ли виджет к какому-либо типу

#python-2.7 #pygtk #equality

#python-2.7 #pygtk #равенство

Вопрос:

Я пытаюсь выяснить, является ли какой-либо виджет в gtk виджетом со списком. Слово is, похоже, здесь не работает

 def set_entries_editable(self, bool, widget):
    '''define whether to enable/disable widget'''
        if widget is gtk.ComboBoxEntry:
            widget.set_sensitive(bool)
        else:
            widget.set_editable(bool)
 

Спасибо!

Ответ №1:

is используется для проверки подлинности объекта.

 >>> a = [1, 2]
>>> b = [1, 2]
>>> a is b
False
>>> a is a
True
 

Используется isinstance для проверки, является ли объект экземпляром определенного типа:

 >>> isinstance(a, list)
True
 

 if isinstance(widget, gtk.ComboBoxEntry):