Symbol in Systray (Taskleiste) wird nicht korrekt angezeigt!

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Schlängerl
User
Beiträge: 3
Registriert: Montag 24. März 2008, 02:05

Moin

Haben hier ein Problem... wollen ein schönes kleines Script fürn EEE-PC schreiben, aber hacken daran, das das Symbol das wir erstellen wollen nicht korrekt dargestellt wird... Auf einen Rechner auf dem die Taskleiste immer sichtbar ist, wird das Symbol manchmal nur 1x15 oder 15x1 angezeigt... manchmal aber auch komplett...

Aufm EEE... wenn die Taskleiste eingeklappt ist... (versteckt) wird das icon ständig 1x15 angezeigt... also nur ein Strich... es werden auch die eingestellten Tooltips angezeigt, wenn man drüberscrollt...

Wir haben und an ein Beispiel gehalten... nicht einmal das hat funktioniert...
Verwenden xfce ... und erbitte hier mal sehnlichste hilfe...

Kein plan woran es liegt... schon (scheinbar) alles ausprobiert aber nicht hat was genützt...

WÄHÄHÄHÄHÄHÄHÄHÄHÄ BITTE HELFEN
BlackJack

Da ist ein Problem in dem Programm dass ihr geschrieben habt, oder mit dem Icon. Ist das nicht toll wieviel man erraten kann, wenn man nichts über das Programm weiss!?

Mal ernsthaft, wie soll man diese Frage denn bitteschön sinnvoll beantworten!?

OT: Bitte einmal in einem Wörterbuch Deiner Wahl die Worte "Haken" und "Hacken" nachschlagen. :-)
Schlängerl
User
Beiträge: 3
Registriert: Montag 24. März 2008, 02:05

Sorry ^^

Aber ich ging davon aus, dass es einfach ein Bug in Python ist, der mit XFCE Auftritt... und man das einee oder andere vorerst einrichten muss damit es einwandfrei funktioniert... daher die recht kage umpfassung des problems... denn nach einem Beispiel funktioniert es ja auch nicht! Wir haben auch das selbe icon verwendet das auch im Beispiel verwendet wurde, aber es funktioniert dennoch nicht ^^

Hier der Quellcode

Code: Alles auswählen

   1 #!/usr/bin/python
   2 
   3 # mytaskbaricon.py
   4 
   5 import wx
   6 
   7 class MyTaskBarIcon(wx.TaskBarIcon):
   8     def __init__(self, frame):
   9         wx.TaskBarIcon.__init__(self)
  10 
  11         self.frame = frame
  12         self.SetIcon(wx.Icon('web.png', wx.BITMAP_TYPE_PNG), 'mytaskbaricon.py')
  13         self.Bind(wx.EVT_MENU, self.OnTaskBarActivate, id=1)
  14         self.Bind(wx.EVT_MENU, self.OnTaskBarDeactivate, id=2)
  15         self.Bind(wx.EVT_MENU, self.OnTaskBarClose, id=3)
  16 
  17     def CreatePopupMenu(self):
  18         menu = wx.Menu()
  19         menu.Append(1, 'Show')
  20         menu.Append(2, 'Hide')
  21         menu.Append(3, 'Close')
  22         return menu
  23 
  24     def OnTaskBarClose(self, event):
  25         self.frame.Close()
  26 
  27     def OnTaskBarActivate(self, event):
  28         if not self.frame.IsShown():
  29             self.frame.Show()
  30 
  31     def OnTaskBarDeactivate(self, event):
  32         if self.frame.IsShown():
  33             self.frame.Hide()
  34 
  35 class MyFrame(wx.Frame):
  36     def __init__(self, parent, id, title):
  37         wx.Frame.__init__(self, parent, id, title, (-1, -1), (290, 280))
  38 
  39         self.tskic = MyTaskBarIcon(self)
  40         self.Centre()
  41         self.Bind(wx.EVT_CLOSE, self.OnClose)
  42 
  43     def OnClose(self, event):
  44         self.tskic.Destroy()
  45         self.Destroy()
  46 
  47 class MyApp(wx.App):
  48     def OnInit(self):
  49         frame = MyFrame(None, -1, 'mytaskbaricon.py')
  50         frame.Show(True)
  51         self.SetTopWindow(frame)
  52         return True
  53 
  54 app = MyApp(0)
  55 app.MainLoop()
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Mit einer PNG-Datei von mir läuft es bei mir problemlos.

Das ist meine Umgebung:
=======================
sys.version: 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)]
sys.platform: win32
sys.winver: 2.4
wx.VERSION_STRING: 2.8.6.0

MfG
HWK
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Ich rate jetzt mal, daß es mit der ungewöhnlichen Auflösung von 800x480 zu tun haben könnte.
Tritt der Effekt auch auf, wenn ein externer Monitor mit anderer Auflösung verwendet wird?
Schlängerl
User
Beiträge: 3
Registriert: Montag 24. März 2008, 02:05

HWK: Hmmh... eventuell ist der aufbau unter windows komplett anders... vll funktionierts deswegen bei dir problemlos

mkallas: nein tut es nicht, wir haben es auch auf einen anderen rechner mit viel höherer auflösung aber selben fenstermanager ... selbes resultat!
TiKaey
User
Beiträge: 84
Registriert: Montag 24. November 2008, 20:48

Getestet unter Ubuntu 8.10/Gnome... wird einwandfrei dargestellt.

Ist die Grafik-Datei denn auch in Ordnung? Vielleicht hat die ja 'nen Hau. ;o)
Antworten