Seite 1 von 1

Buttons auf einem Image?

Verfasst: Montag 30. November 2009, 00:22
von Chaosspawn23
Hallo allerseits!

Ich arbeite gerade an einem pygtk-Programm, und bin nun auf folgendes Problem gestoßen:
Ist es möglich, auf irgendeine Art Buttons (oder ähnliche klickbare Objekte) auf einem Image platziert (möglichst so, dass man das Bild hinterher noch sehen kann)? Ich denke dabei an sowas wie die image map in HTML, also dass der Benutzer ein Bild sich hat, bei dem bestimmte Bereiche (ruhig auch rechteckige) klickbar sind.

Bin für jede Hilfe dankbar! :)

EDIT: Topic geändert um anderen Suchenden das Leben zu erleichtern ;)
Edit (Leonidas): Topic geändert um den Forenregeln zu entsprechen.

Verfasst: Montag 30. November 2009, 08:41
von Andyh
Hallo

Das müsste so gehen:
-Als Container ein gtk.Fixed()
-Dann eine gtk.Image() mit put(0,0, gröse-des-bildes) platzieren
-dann an den verschiedenen Bereichen eine gtk.EventBox() mit put() platzieren
-bei den gtk.EventBox'sen must du noch ein set_visible_window(False) machen
-dann kannst du das Signal "button-press-event" benützen

Gruß
Andyh

Verfasst: Montag 30. November 2009, 10:13
von Chaosspawn23
Vielen Dank für die Antwort erstmal! :)

Die Methode scheint vielversprechend, aber ich hab mit der gtk.EventBox noch ein Verständnisproblem - wie bestimmt man denn, wie groß die werden soll? Mit gtk.Fixed.put kann man ja scheinbar nur die Startkoordinaten eines Objekts bestimmen, aber nicht die Endkoordinaten, also nicht die Größe.
Das mit der Größe wär eben wichtig, weil ich ja mehrere klickbare (unsichtbare) Rechtecke auf dem Bild haben will...

Sorry für meine noobigen Fragen :roll:

Verfasst: Montag 30. November 2009, 13:20
von ms4py
Chaosspawn23 hat geschrieben:Vielen Dank für die Antwort erstmal! :)

Die Methode scheint vielversprechend, aber ich hab mit der gtk.EventBox noch ein Verständnisproblem - wie bestimmt man denn, wie groß die werden soll? Mit gtk.Fixed.put kann man ja scheinbar nur die Startkoordinaten eines Objekts bestimmen, aber nicht die Endkoordinaten, also nicht die Größe.
Das mit der Größe wär eben wichtig, weil ich ja mehrere klickbare (unsichtbare) Rechtecke auf dem Bild haben will...

Sorry für meine noobigen Fragen :roll:
Generell kann man eine Minimalgröße für Widgets mit ``set_size_request(width, height) einstellen.

[Gelöst] Buttons auf einem Image?

Verfasst: Montag 30. November 2009, 15:07
von Chaosspawn23
Ahh, jetzt ist alles klar! Danke für die Hilfe, das set_size_request war genau das was mir noch gefehlt hat. Und fertig ist der digitale Adventskalender :D

Verfasst: Montag 30. November 2009, 16:02
von Dav1d
Macht mich neugierig, kannst du das Skript mal posten?

Re: [Gelöst] Buttons auf einem Image?

Verfasst: Montag 30. November 2009, 19:23
von ms4py
Chaosspawn23 hat geschrieben:Ahh, jetzt ist alles klar! Danke für die Hilfe, das set_size_request war genau das was mir noch gefehlt hat. Und fertig ist der digitale Adventskalender :D
Coole Idee, würd mich auch mal interessieren, wie der aussieht ;)