Programm Icon wird nicht angezeigt

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
rebern
User
Beiträge: 7
Registriert: Mittwoch 21. Mai 2008, 22:38

hi.

Kann mir bitte jemand sagen wie man ein Programm Icon, damit meine ich das was man normalerweise Links neben den Programm Titel sieht bauen kann?

ich hab es so versucht aber es ist leider nichts von einen Icon zu sehen. Ich teste auf Ubuntu falls das eine Rolle spielen sollte.

Code: Alles auswählen

        statusIcon = gtk.StatusIcon()
        statusIcon.set_from_file("/usr/share/icons/Human/8x8/stock/generic/gtk-close.png")
        statusIcon.set_tooltip("GXML-RPC")
        statusIcon.connect('activate', self.callback)
        statusIcon.set_visible(True)
das ganze steht im __init__ Block,
der ganze Code befindet sich hier: http://dpaste.com/54177/

vielen Dank!
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Du speicherst keine Referenz auf das StatusIcon, weshalb es garbage-collected wird, es im Prinzip also nicht mehr existiert, wodurch es natürlich auch nicht mehr angezeigt werden kann.
rebern
User
Beiträge: 7
Registriert: Mittwoch 21. Mai 2008, 22:38

hallo

danke fuer die Antwort. Du meinst das ich self. vergessen habe oder verstehe ich was falsch?
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Was heißt vergessen.. irgendeine Referenz auf das Icon brauchst du eben, damit Python das Objekt nicht automatisch aufräumt und ``self.status_icon``oder so würde sich wohl anbieten, ja.
scrawl
User
Beiträge: 40
Registriert: Mittwoch 20. August 2008, 17:04
Kontaktdaten:

Was willst du haben, ein StatusIcon oder ein Programm-Icon?
Nach deiner Beschreibung denke ich letzteres, was ganz einfach geht:

Code: Alles auswählen

window.set_icon_from_file("/pfad/zum/icon.png")
Ein StatusIcon ist was ganz anderes, nämlich das Icon was im Benachrichtigungsfeld / System tray angezeigt wird.

MfG
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Durch das ``gtk.StatusIcon`` im Code wird doch schon klar, was gemeint ist. Außerdem ist der Thread schon alt und seit langem gelöst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
scrawl
User
Beiträge: 40
Registriert: Mittwoch 20. August 2008, 17:04
Kontaktdaten:

Hm upps :P
Antworten