Seite 1 von 1
[gelöst] Icon.bmp (als Code) in Frame einfügen
Verfasst: Donnerstag 13. November 2008, 11:48
von mathi
Hallo,
entgegen allen Beispielen habe ich ein .bmp als Code vorliegen und möchte es als Icon in den Frame bringen :
meine bisherigen Ergüsse:
CODE AUSGELAGERT:
http://paste.pocoo.org/show/91050/
funktioniert auch nicht
Wo liegt mein Denkfehler?
EDIT by Gerold: Code ausgelager
Verfasst: Donnerstag 13. November 2008, 13:24
von gerold
Hallo mathi!
Und wie sollen wir dieses Beispiel ausprobieren? Das ist der Grund, weshalb ich immer wieder darum bitte, ein funktionierendes/ganzes Beispiel zu posten. Wie soll ich denn wissen, woher du dieses ``PyEmbeddedImage`` bekommst und welche Methoden es hat?
mfg
Gerold
Verfasst: Donnerstag 13. November 2008, 14:24
von mathi
Hallo Gerold,
Entschuldigung, ist natürlich richtig, ich habe mir erlaubt ein Beispiel (ich glaube von Dir:-)) auszukramen und dort meine Idee einzubauen:
Mein Ziel ist es, in jedem Frame (parent und child) das "icon" anzuzeigen, daher habe ich eine .jpg mit img2py codiert und eingefügt.
CODE AUSGELAGERT:
http://paste.pocoo.org/show/91051/
aber das möchte ich nicht, weil:
http://www.python-forum.de/topic-16680.html
EDIT by Gerold: Code ausgelagert
Verfasst: Donnerstag 13. November 2008, 14:32
von HWK
So habe ich es einmal mit einem in img stehenden, Base64-encodierten GIF-Image gemacht:
Code: Alles auswählen
tmp = wx.ImageFromStream(cStringIO.StringIO(base64.decodestring(img)),
wx.BITMAP_TYPE_GIF)
icon = wx.IconFromBitmap(tmp.Scale(16, 16).ConvertToBitmap())
self.SetIcon(icon)
MfG
HWK
Verfasst: Donnerstag 13. November 2008, 14:53
von mathi
Hallo HWK,
leider komme ich mit Deinem Beispiel nicht weiter (fehlt mir das Wissen).
Mit :
Code: Alles auswählen
icon2 = wx.IconFromBitmap(geticonImage.Scale(16, 16).ConvertToBitmap())
self.SetIcon(icon2)
passiert nichts, aber es kommt auch kein Fehler
Verfasst: Donnerstag 13. November 2008, 15:47
von gerold
Hallo mathi!
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import wx
from wx.lib.embeddedimage import PyEmbeddedImage
class MyFirstFrame(wx.Frame):
"""
Erster Frame
"""
def __init__(self, parent = None, id = -1, title = "Erster Frame"):
"""
Frame initialisieren und aufbauen
"""
# Initialisieren
wx.Frame.__init__(self, parent, id, title)
icon_stream = PyEmbeddedImage(
"iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAIAAABuYg/PAAAAA3NCSVQICAjb4U/gAAAEGUlE"
"QVRIie1WS0srSxCu6emeR2I0JiSKaBa+FSQouAnE4MJf4EIQf4Nu/DWu/AsuxIXg+4EgKi6S"
"nWJioiSZPCaJwzzSfRfNzQk65njlcs65cL/FMExX9Vf1dVX1APwnIAjCL3T7Nn4137+C7wTd"
"2UcQhHaDnxr/eB8eHl5bW8vlcoIgEEIsy6KUfvRhjImiGIlEtra2np+fAWBpaWl2dlbTNMYY"
"ACCECCG2bVNKRVHEGFuWBQCUUowxd8Tz8/Nzc3MrKyulUimTyUSjUcdxXMlkWdY0bXd3N5vN"
"MsYWFhbi8XgwGOTBSZJ0fn4ejUYlSUomkwMDA4FAgC/Jsvz6+rq3t4ebzWYkEqnVaoQQVVV1"
"Xbdt+7PMxsbGCoUCF+fl5WVgYCCfz1NKGWOKovT29jLGGo1GJBLRNA1j3Gw2GWOEkMHBQQBA"
"AKAoCteQEIIQ6iC9JEmcmDGGEEII8e+CIHAZMcaMMUmSJEniq3xJFEUAwAihnZ2diYkJALi5"
"uVldXQ2Hw65nLopiPp8fHR19eHgAgPHxcV3Xh4aGGGOU0re3t9PT03g8bhhGsVjEGCcSCUVR"
"uP7VahUAMKV0eXlZ13VCSDAYnJ6eFkXxHRljjAfY3d1dLBb5x83NTVVVDcOglHK5jo+P/X6/"
"YRhTU1PX19eTk5N8K+749vaGAcAwjEajIctyV1cXADSbTa4ML7P29xYTAFiWZdt2ywYAvF6v"
"YRiGYWCMVVVtbdVy/CE6AGCM27N5x+RaNe90hr+7sH2rFjDXVFEUQkh74P+I9YvACKGTk5NA"
"IEAIeXx8vLi46OnpeRdvJpPxeDwejwdjvLGxcXBw8E0yxtj09LSqqjx9RVF0XW+3IIRUKpX+"
"/n7Lsnp6ejKZzPczo5T6fD7TNAGAUsqPvd2Ct4tpmqZpejyeDnvxzmu1oIsBxvju7s5xHF3X"
"n56eeAO2wKdAKpXSNE3TtMPDw8+6HgDu7+8xxoIgFAqFcrnsklk6nXYc5+zsjAd1dHTUqleO"
"crkci8XC4XC1Wp2cnHSdnBwzMzN8NRQK1et1F7LLy8vLy8sO4gDA9vZ2JBIBAMbYu1DawRhz"
"HIcPFFezTzVph8/nE0Xxi3Xf4XpDnZc56vW6IAgfx9jXaThwIpFYX1/P5XKuiQuCUCqVGGOl"
"UknXddM0CSGdd+xE1tfXhzFeXFy0LMs1NITQ/v7++Pi43++/vb3tUI0/1RlTSkdGRqrV6mdk"
"siwPDQ3xHojFYh0KhLcNv9VcY8L82uSjCNwGICHE6/X6fD6MsSzL/ORck6jVapIkZbNZv9/v"
"qjaybTuVSpmmyWdH+9O2bcdxTNOsVCrJZLJarV5dXYVCoY9MXBKEkKZpyWQynU4Hg0GX3Fsh"
"fPZ39if+v/6emL7E+ifK9T9+O/4Ca6olvzq05dsAAAAASUVORK5CYII="
)
img = wx.ImageFromBitmap(icon_stream.GetBitmap())
img.Rescale(16, 16)
bmp = wx.BitmapFromImage(img)
bmp.SetMaskColour(wx.BLACK)
icon = wx.IconFromBitmap(bmp)
self.SetIcon(icon)
static_bmp = wx.StaticBitmap(self, bitmap = wx.BitmapFromIcon(self.GetIcon()))
def main():
app = wx.PySimpleApp()
first_frame = MyFirstFrame()
first_frame.Show()
app.MainLoop()
if __name__ == "__main__":
main()
Recht kompliziert -- ich weiß.
mfg
Gerold
Verfasst: Donnerstag 13. November 2008, 16:31
von mathi
Hallo Gerold,
Danke, aber ich glaube jetzt haben wir uns komplett Mißverstanden, (meine Schuld, habs im 1. Post wirklich nicht richtig erklärt)
ich wollte oben in der Titelleiste links neben "Erster Frame" das kleine Bildchen haben, leider ist das bei Deinem Beispiel auch nicht der Fall (zumindest wenn ich es starte)
Verfasst: Donnerstag 13. November 2008, 16:46
von gerold
mathi hat geschrieben:Titelleiste links neben "Erster Frame"
Hallo mathi!
Bei mir sieht das so aus:
mfg
Gerold
Verfasst: Donnerstag 13. November 2008, 19:46
von mathi