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:

Bild

mfg
Gerold
:-)

Verfasst: Donnerstag 13. November 2008, 19:46
von mathi
stimmt, jetzt gehts, komisch, mir war, als hätte ich es nur im Frame gesehen. Egal, es kappt..... 8) 8) 8) :D

SUPER, vielen Dank.