2010-02-03 4 views
4

저는 gtk에 두 개의 아이콘을 추가하고 있습니다. PyGTK의 항목. gtk.Entry 아이콘을 차별화합니다.

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

나는이 어떻게 할 수

: 아이콘 신호는 내가 두 사람을 구분하기 위해 노력하고있어 다음과 같은 방법

def entry_icon_event(self, widget, position, event) 

에 의해 처리됩니다? 나는 PyGTK의 문서를 파고 있었지만 GtkEntryIconPosition이나이 enum에 대한 정의는 없다.

감사

+1

글쎄, 내가의 이름을 반환 position.value_name를 사용하여 비교할 수있는 것 enum. 또한 x = gtk._gtk.EntryIconPosition (0) for x = gtk._gtk.EntryIconPosition (1) (SECONDARY )과 같은 새 개체를 만든 다음 개체를 비교합니다. – Eldelshell

답변

1

그것을 할 더 좋은 방법이있다 :

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

멋지다, 나는 그것을하기위한 더 좋은 방법이 있어야한다는 것을 알았다. 감사! – Eldelshell

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"