4

PyGTKのgtk.Entryに2つのアイコンを追加しています。アイコン信号は以下の方法で処理されます

def entry_icon_event(self, widget, position, event)

私はそれらの2つを区別しようとしています:

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

これどうやってするの?私はPyGTKのドキュメントを掘り下げてきましたが、オブジェクトGtkEntryIconPositionもこの列挙型の定義もありません。

ありがとう

4

2 に答える 2

2

さて、誰も答えてくれなかったので、実際に見つけたものでやります。このアイコンを使用する方法は次のようになります。

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"
于 2010-02-07T16:58:50.647 に答える
1

それを行うためのより良い方法があります:

def entry_icon_event(self, widget, icon, event):
    if icon == gtk.ENTRY_ICON_PRIMARY:
        ...
    elif icon == gtk.ENTRY_ICON_SECONDARY:
        ...
于 2010-03-13T14:14:43.207 に答える