Seite 1 von 1

Programm Icon wird nicht angezeigt

Verfasst: Sonntag 1. Juni 2008, 19:36
von rebern
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!

Verfasst: Sonntag 1. Juni 2008, 19:51
von Trundle
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.

Verfasst: Montag 2. Juni 2008, 12:48
von rebern
hallo

danke fuer die Antwort. Du meinst das ich self. vergessen habe oder verstehe ich was falsch?

Verfasst: Mittwoch 4. Juni 2008, 20:16
von Trundle
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.

Verfasst: Samstag 20. September 2008, 10:29
von scrawl
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

Verfasst: Samstag 20. September 2008, 10:59
von Leonidas
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.

Verfasst: Samstag 20. September 2008, 16:46
von scrawl
Hm upps :P