Rechts-Klick-Menü (Kontext-Menü) mit PyGTK
So, ich bin noch Recht neu bei Python, und gelernt haben, für ein paar Monate, aber eine Sache, die ich versuche, herauszufinden, ist, sagen, Sie haben ein basic-Fenster...
#!/usr/bin/env python
import sys, os
import pygtk, gtk, gobject
class app:
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("TestApp")
window.set_default_size(320, 240)
window.connect("destroy", gtk.main_quit)
window.show_all()
app()
gtk.main()
I wanna rechten Maustaste in diesem Fenster und ein Menü pop-up-wie alert, zu kopieren, zu beenden, was auch immer ich fühle mich wie hinstellen.
Wie kann ich erreichen, dass?
- First off, Sie sollten Lesen, auf, wie GTK nutzt die Ereignisse. Beginnen Sie immer mit der rechten Maustaste, um etwas zu tun, dann Lesen Sie, wie zu tun, Kontext-Menüs. Ich habe noch nie verwendet, PyGTK oder GTK, aber wahrscheinlich gibt es ein widget für Sie.
InformationsquelleAutor Michael Schwartz | 2011-07-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein Beispiel für genau das richtige gefunden zu http://www.pygtk.org/pygtk2tutorial/sec-ManualMenuExample.html
Es zeigt Ihnen, wie Sie ein Menü erstellen, fügen Sie es zu einem Menüleiste und hören sich auch für eine Maus-Schaltfläche click-Ereignis-und popup, die selben Menüs, die erstellt wurde.
Ich denke, das ist, was Sie sind nach.
EDIT: (Hinzugefügt weiteren Erklärung, um zu zeigen, wie Sie reagieren nur auf Rechte Maustaste-Ereignisse)
Zusammenzufassen.
Erstellen Sie ein widget, um Listener für Maus-Ereignisse auf. In diesem Fall ist es eine Taste.
Erstellen Sie ein Menü
Füllen Sie es mit der Menü-Elemente
Stellen Sie die widget hören für Maus, Presse-events, befestigen Sie das Menü, um es.
Dann definieren Sie die Methode, die die Verarbeitung dieser Ereignisse. Wie gesagt in dem Beispiel in den link, das widget an diese Methode übergebene ist das Menü, das Sie wollen aufspringen nicht das widget, das hört für diese Ereignisse.
Werden Sie sehen, dass die if-Anweisung überprüft, ob die Taste gedrückt wurde, wenn das wahr ist, es wird dann überprüfen, um zu sehen, welche der Tasten gedrückt wurde. Die event.button ist ein integer-Wert, Vertretung, welche Maustaste gedrückt wurde. Also 1 ist die linke Taste, 2 die mittlere und 3 die Rechte Maustaste. Durch die überprüfung, um zu sehen, wenn die Veranstaltung.Taste 3, Sie sind nur nicht mehr zu Maus drücken Sie die Veranstaltungen für die Rechte Maustaste.