区分gtk.Entry图标

时间:2010-02-03 10:26:12

标签: python icons pygtk gtkentry

我在PyGTK中为gtk.Entry添加了两个图标。图标信号由以下方法处理

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 个答案:

答案 0 :(得分:1)

好吧,既然没有人给出答案,我会做我实际发现的事情。使用此图标的方法如下所示:

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"

答案 1 :(得分:1)

有更好的方法:

def entry_icon_event(self, widget, icon, event):
    if icon == gtk.ENTRY_ICON_PRIMARY:
        ...
    elif icon == gtk.ENTRY_ICON_SECONDARY:
        ...