WXPython-Probleme mit Events

Plattformunabhängige GUIs mit wxWidgets.
Antworten
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Wegen den Links: Das sind externe. Kann die Seiten derzeit aber auch so nicht laden. Vielleicht ein Problem mit dem dortigen Server?

Gruß, mawe
Stolzi
User
Beiträge: 155
Registriert: Mittwoch 18. August 2004, 15:44

Werds später nochmal versuchen.
Juhuuu ich glaub der Stolzi hats nun gelöst. Das dürfte der einfachste Weg sein denke ich. Hat mir einfach keine Ruhe gelassen.
Hab Mawes Beispiel ein wenig modifiziert. Sollte selbsterklärend sein:

Code: Alles auswählen

import wx

class TestFrame(wx.Frame):
    def __init__(self,parent,size):
        wx.Frame.__init__(self,parent,-1,"",(0,0),size)
        self.bitmap = []
        x,y=20,20
        for i in range(10):
            self.DrawImg("C:\Dokumente und Einstellungen\Administrator\Desktop\Python\phpEditor\DSCF0009.jpg",i,(x*4*i,y))

    def DrawImg(self,path,i,pos):
        self.bitconst = wx.Image(path,wx.BITMAP_TYPE_ANY)
        self.bitconst = wx.BitmapFromImage(self.bitconst)
        self.bitmap.append(wx.StaticBitmap(self,-1,self.bitconst,pos))
        self.bitmap[i].Bind(wx.EVT_LEFT_DOWN, self.OnClick)
        self.bitmap[i].var="Hello World! "+str(i)

    def OnClick(self,evt):
        obj=evt.GetEventObject()
        print obj.var
        obj.Hide()

class MyApp(wx.App):
    def OnInit(self):
        t = TestFrame(None,wx.Size(700,500))
        t.Show(True)
        self.SetTopWindow(t)
        return True

app = MyApp(0)
app.MainLoop()

Der Schlüssel wäre GetEventObject() gewesen. Warum einfach wenns auch kompliziert geht ;-)? Haben wir wohl alle übersehen.
Antworten