Bitmap in Dialog darstellen
Verfasst: Dienstag 1. Mai 2007, 20:25
Hey Leute,
Ich benutze folgenden Code um ein Bild in einem Dialog darzustellen. Die Funktion 'ShowMap()' wird durch einen Button aufgerufen...
Wenn ich den Dialog jetzt jedoch schliesse, tritt folgender Fehler aus:
Hab schon etwas rumporbiert... aber ich versteh nicht, warum OnPaint nach dem schliessen des Dialogs nocheinmal aufgerufen wird?
Oder sehe ich es eh komplett falsch??
so long,
Samy
Ich benutze folgenden Code um ein Bild in einem Dialog darzustellen. Die Funktion 'ShowMap()' wird durch einen Button aufgerufen...
Code: Alles auswählen
def ShowMap(self, event):
self.bitmap = wx.Bitmap('/home/samy/workspace/Flugsuche/karte.jpg')
dc = wx.MemoryDC(self.bitmap)
gc = wx.GraphicsContext_Create(dc)
pen = wx.Pen("white", 4, wx.SOLID)
gc.SetPen(pen)
# Test linie
gc.DrawLines(((10, 40), (300, 150)))
dc.SelectObject(wx.NullBitmap)
wx.EVT_PAINT(self, self.OnPaint)
self.resultdialog = wx.Dialog(self, -1, "Karte", wx.Point(200,200), size=(410, 358))
self.resultdialog.ShowModal()
self.resultdialog.Destroy()
def OnPaint(self, event):
dc = wx.PaintDC(self.resultdialog)
dc.DrawBitmap(self.bitmap, 5, 5)
Code: Alles auswählen
Traceback (most recent call last):
File "./workspace/Flugsuche/mainwx.py", line 241, in OnPaint
dc = wx.PaintDC(self.resultdialog)
File "/usr/lib/python2.4/site-packages/wx-2.8-gtk2-unicode/wx/_gdi.py", line 4626, in __init__
_gdi_.PaintDC_swiginit(self,_gdi_.new_PaintDC(*args, **kwargs))
TypeError: in method 'new_PaintDC', expected argument 1 of type 'wxWindow *'
Traceback (most recent call last):
File "./workspace/Flugsuche/mainwx.py", line 241, in OnPaint
dc = wx.PaintDC(self.resultdialog)
File "/usr/lib/python2.4/site-packages/wx-2.8-gtk2-unicode/wx/_gdi.py", line 4626, in __init__
_gdi_.PaintDC_swiginit(self,_gdi_.new_PaintDC(*args, **kwargs))
TypeError: in method 'new_PaintDC', expected argument 1 of type 'wxWindow *'
Oder sehe ich es eh komplett falsch??
so long,
Samy