pygtk - events

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
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
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
smoere
User
Beiträge: 4
Registriert: Donnerstag 20. Oktober 2005, 07:16

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
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich habe mir die Freiheit genommen, den Thread unter GTK/GNOME zu verschieben.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
smoere
User
Beiträge: 4
Registriert: Donnerstag 20. Oktober 2005, 07:16

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
Antworten