Hallo,
für eine Software möchte ich eine GUI gestalten, die etwas mehr "eyecandy" ist als der Standard-Look von GTK. Ich möchte Bilder als Buttons in mein Programm integrieren. Was ist hierfür die einfachte Möglichkeit?
Ich habe es bisher hinbekommen, dass ein gtk.Image in einen Button gepackt wird. Allerdings wird dann die Standard-Farbe des GTK-Themes benutzt, um den Button "aufzufüllen". Das sieht dann so aus:
Was ich aber möchte ist, dass wirklich nur das Bild angezeigt wird (also quasi, dass um den "Kreis" herum das Hintergrundbild sichtbar ist).
Gibt es eine Möglichkeit, das hinzubekommen? Oder gibt es gar eine ganz andere Möglichkeit, Bilder in ein Fenster einzufügen und eine Methode aufzurufen, sobald eines davon angeklickt wird?
Vielen Dank & viele Grüße!
Beni
Bilder als Buttons mit pyGTK
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Unter Unices ist es etwas anders als unter Windows, aber in aller Regel sind Linux-User genervt, wenn irgendein ach so tolles Programm sich rausnehmen muss, Skins zu verwenden. Dafür gibt es in GTK+ Themes.Beni hat geschrieben:für eine Software möchte ich eine GUI gestalten, die etwas mehr "eyecandy" ist als der Standard-Look von GTK.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Code: Alles auswählen
button.set_relief(gtk.RELIEF_NONE)
Ansonsten kannst du natürlich auch das Image als Button "missbrauchen" und dich da ans button-press-event o.ä hängen. Falls das Image keine Event feuern sollte (weiss ich nicht auswendig :/) kannst du es einfach in eine EventBox packen
Ich denke den Rand eines Buttons zu entfernen liegt durchaus noch drin. Und das wird ja auch von einigen Gnome/GTK Anwendungen gemacht. The Gimp zum Beispiel.Leonidas hat geschrieben:Unter Unices ist es etwas anders als unter Windows, aber in aller Regel sind Linux-User genervt, wenn irgendein ach so tolles Programm sich rausnehmen muss, Skins zu verwenden. Dafür gibt es in GTK+ Themes.Beni hat geschrieben:für eine Software möchte ich eine GUI gestalten, die etwas mehr "eyecandy" ist als der Standard-Look von GTK.
Gruss,
Jonas.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Es geht nicht um den Rand des Buttons sondern das wirklich nur die runde Grafik angezeigt wird, also ein rundes Fenster und kein eckiges.
Guten Morgen,
vielen Dank für die Antworten!
Viele Grüße
Beni
vielen Dank für die Antworten!
Genau. So war das gemeintBlackJack hat geschrieben:Es geht nicht um den Rand des Buttons sondern das wirklich nur die runde Grafik angezeigt wird, also ein rundes Fenster und kein eckiges.
Ja, das ist mir durchaus bewusst. Bin selbst seit Jahren Linux-Benutzer. Allerdings möchte ich eine Art GUI im Stile von MythTV oder Ähnlichem erstellen. Es geht dabei auch um eine Art "Media-Center". Meine "Zielgruppe" möchte also mit Sicherheit eine GUI, die etwas aus dem Rahmen fällt.Leonidas hat geschrieben:Unter Unices ist es etwas anders als unter Windows, aber in aller Regel sind Linux-User genervt, wenn irgendein ach so tolles Programm sich rausnehmen muss, Skins zu verwenden. Dafür gibt es in GTK+ Themes.
Danke für den Tipp. Das wäre nämlich meine nächste Frage gewesenveers hat geschrieben:Dann bist du den Rand los.Code: Alles auswählen
button.set_relief(gtk.RELIEF_NONE)
Hm...kannst Du mir vielleicht ein kurzes Beispiel geben, wie sowas aussehen könnte?veers hat geschrieben: Ansonsten kannst du natürlich auch das Image als Button "missbrauchen" und dich da ans button-press-event o.ä hängen.
Viele Grüße
Beni
Code: Alles auswählen
button.set_image()
Mit Glade kann man Buttons als Container benutzen und ein Bild hineinsetzen, wie das ohne Glade geht, weiss ich leider nicht.