Gibt es eine einfache Möglichkeit Events miteinander zu verknüpfen?
Ich würde gern NACH einem Tastendruck anfangen etwas zu malen.
Pseudo-code:
Code: Alles auswählen
if wx.EVT_CHAR == TRUE:
wx.EVT_PAINT(self, self.OnPaint)
Code: Alles auswählen
if wx.EVT_CHAR == TRUE:
wx.EVT_PAINT(self, self.OnPaint)
Code: Alles auswählen
import wx
class MyProgram:
def __init__(self, panel):
panel.Bind(wx.EVT_CHAR, self.KeyEvent)
def KeyEvent(self, evt):
print "hi"
# wx.EVT_PAINT(self, self.OnPaint)
# self.OnPaint()
def OnPaint(self, event=None):
dc = wx.PaintDC(panel)
dc.Clear()
dc.SetPen(wx.Pen("RED", 4))
dc.DrawLine(0, 0, 10, 10)
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, "Test")
panel = wx.Panel(frame)
MyProgram(panel)
frame.Show(True)
app.MainLoop()
Code: Alles auswählen
import wx
class MyProgram:
def __init__(self, panel):
panel.Bind(wx.EVT_CHAR, self.KeyEvent)
panel.Bind(wx.EVT_PAINT, self.OnPaint)
def KeyEvent(self, evt):
print "hi"
panel.Refresh()
def OnPaint(self, event=None):
print "update"
dc = wx.PaintDC(panel)
dc.Clear()
dc.SetPen(wx.Pen("RED", 4))
dc.DrawLine(0, 0, 10, 10)
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, "Test")
panel = wx.Panel(frame)
MyProgram(panel)
frame.Show(True)
app.MainLoop()
Code: Alles auswählen
import wx
class MyProgram:
def __init__(self, panel):
panel.Bind(wx.EVT_CHAR, self.KeyEvent)
def KeyEvent(self, evt):
print "hi"
panel.Bind(wx.EVT_PAINT, self.OnPaint)
panel.Refresh()
def OnPaint(self, event=None):
print "update"
dc = wx.PaintDC(panel)
dc.Clear()
dc.SetPen(wx.Pen("RED", 4))
dc.DrawLine(0, 0, 10, 10)
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, "Test")
panel = wx.Panel(frame)
MyProgram(panel)
frame.Show(True)
app.MainLoop()