Seite 1 von 1

pygtk - events

Verfasst: Donnerstag 20. Oktober 2005, 07:19
von Gast
hi leutz!

was ist denn der event-name für die rechte maustaste?

bei "button_press_event" wird der event für beide maustasten ausgelöst


greetz
smoere

Re: pygtk - events

Verfasst: Donnerstag 20. Oktober 2005, 08:09
von gerold
Anonymous hat geschrieben:was ist denn der event-name für die rechte maustaste?
bei "button_press_event" wird der event für beide maustasten ausgelöst
Hi!

Wenn das Event ausgelöst wurde, dann bekommst du das Widget auf welches geklickt wurde und auch Details über das Event mitgegeben.

Code: Alles auswählen

def on_mywidget_button_press_event(widget, event, data = None):
Ich weiß es jetzt nicht auswendig, aber wenn du das Event mit dir() überprüfst, bekommst du sicher raus, wie du im Code die linke und die rechte Maustaste unterscheiden kannst.

mfg
Gerold
:-)

Verfasst: Donnerstag 20. Oktober 2005, 09:12
von smoere
danke für die idee, aber ich glaube nicht, aber irgendwie werde ich aus der ausgabe nicht direkt schlau.

hier genaueres:
self.button.connect("button_press_event", self.aktion)
...
def aktion(self,widget,event):
print dir(event)
und hier die ausgabe, wenn ich mit links klicke:
['axes', 'button', 'copy', 'device', 'free', 'get_axis', 'get_coords', 'get_root
_coords', 'get_screen', 'get_state', 'get_time', 'put', 'send_event', 'set_scree
n', 'state', 'time', 'type', 'window', 'x', 'x_root', 'y', 'y_root']
und dir rechte maustaste:
['axes', 'button', 'copy', 'device', 'free', 'get_axis', 'get_coords', 'get_root
_coords', 'get_screen', 'get_state', 'get_time', 'put', 'send_event', 'set_scree
n', 'state', 'time', 'type', 'window', 'x', 'x_root', 'y', 'y_root']
ich glaube, da fehlt irgendwas beim befehl, bzw es wird ein anderer befehl gebraucht.
aber welcher??


greetz
smoere

Verfasst: Donnerstag 20. Oktober 2005, 09:42
von gerold
smoere hat geschrieben:

Code: Alles auswählen

self.button.connect("button_press_event", self.aktion)
...
def aktion(self,widget,event):
   print dir(event)
und hier die ausgabe, wenn ich mit links klicke:
['axes', 'button', 'copy', 'device', 'free', 'get_axis', 'get_coords', 'get_root
_coords', 'get_screen', 'get_state', 'get_time', 'put', 'send_event', 'set_scree
n', 'state', 'time', 'type', 'window', 'x', 'x_root', 'y', 'y_root']
Hi!

:idea:
Jetzt musst du nur noch prüfen, welchen Wert event.button oder event.button() hat. :D

mfg
Gerold
:-)

Verfasst: Donnerstag 20. Oktober 2005, 15:48
von Leonidas
Ich habe mir die Freiheit genommen, den Thread unter GTK/GNOME zu verschieben.

Verfasst: Donnerstag 20. Oktober 2005, 16:12
von smoere
alles klar!

ich habs raus:

mit
print event.button

kriegt man die unterscheidung :)

@Leonidas:
sorry, da waren beim erstellen die finger mal wieder schneller als das auge ;P