Дифференцировать иконки gtk.Entry - PullRequest
4 голосов
/ 03 февраля 2010

Я добавляю две иконки в gtk.Entry в PyGTK. Сигналы пиктограмм обрабатываются следующим методом

def entry_icon_event(self, widget, position, event)

Я пытаюсь провести различие между ними:

<enum GTK_ENTRY_ICON_PRIMARY of type GtkEntryIconPosition>
<enum GTK_ENTRY_ICON_SECONDARY of type GtkEntryIconPosition>

Как я могу это сделать? Я копался в документации PyGTK, но нет ни объекта GtkEntryIconPosition, ни определения для этого перечисления.

Спасибо

Ответы [ 2 ]

1 голос
/ 13 марта 2010

Есть лучший способ сделать это:

def entry_icon_event(self, widget, icon, event):
    if icon == gtk.ENTRY_ICON_PRIMARY:
        ...
    elif icon == gtk.ENTRY_ICON_SECONDARY:
        ...
1 голос
/ 07 февраля 2010

Хорошо, так как никто не дал ответа, я сделаю то, что нашел. Метод использования этих значков будет выглядеть следующим образом:

def entry_icon_event(self, widget, icon, event):
    if icon.value_name == "GTK_ENTRY_ICON_PRIMARY":
        print "First Button"
        if event.button == 0:
            print "Left Click":
        else:
            print "Right Click"
    elif icon.value_name == "GTK_ENTRY_ICON_SECONDARY":
        print "Second Button"
        if event.button == 0:
            print "Left Click":
        else:
            print "Right Click"
...