Zeichnen mit wx

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Ich spiele gerade wieder etwas mit wxPython und möchte verschiedene Objekte zeichnen.
Dazu habe ich folgendes kleines Beispiel:

Code: Alles auswählen

#!/usr/bin/python

import wx

class MainFrame(wx.Frame):
    def __init__(self, parent, id, title):
	wx.Frame.__init__(self, parent, id, title)
	workpanel = wx.Panel(self)
	dc = wx.BufferedPaintDC(workpanel)
	dc.SetPen(wx.Pen('black'))
	dc.DrawCircle(50, 250, 50)
	
	
if __name__ == '__main__':
    app = wx.PySimpleApp()
    frm = MainFrame(None, -1, 'Hauptfenster')
    frm.Show()
    app.MainLoop()
Nur leider funktioniert es nicht. Ich bekomme nur ein leeres Fenster.
:oops:

Was fehlt da noch bzw., was ist da falsch?

Mawilo
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo mawilo!

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import wx

class MainFrame(wx.Frame):
    
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)
        workpanel = wx.Panel(self)
        self.workpanel = workpanel
        workpanel.Bind(wx.EVT_PAINT, self.on_panel_paint)
    
    
    def on_panel_paint(self, event = None):
        dc = wx.PaintDC(self.workpanel)
        dc.SetPen(wx.Pen('black'))
        dc.DrawCircle(50, 50, 50)
   
   
if __name__ == '__main__':
    app = wx.PySimpleApp()
    frm = MainFrame(None, -1, 'Hauptfenster')
    frm.Show()
    app.MainLoop()
mfg
Gerold
:-)

PS: wx.EVT_PAINT wird immer dann aufgerufen, wenn das Bild neu gezeichnet werden muss.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Danke :D

Mawilo
Antworten