rendered paste body#!/usr/bin/python
import urllib
from wxPython import wx
from wxPython.wx import wxImageFromStream, wxBitmapFromImage, wxTimer, wxInitAllImageHandlers
from cStringIO import StringIO
import wx
url = 'http://www.welikesheep.com/archives/lucyliu.jpg'
def MyImage():
print "reading"
print url
fp = urllib.urlopen(url)
data = fp.read()
fp.close()
img = wx.ImageFromStream(StringIO(data))
img.Rescale (640,480)
return(img)
class MyPanel(wx.Panel):
def OnPaint(self, event):
print "painting"
print url
dc = wx.PaintDC(self)
dc.DrawBitmap(self.bitmap, 0, 30)
def OnTimer(self, event):
#print url
self.bitmap=wxBitmapFromImage(MyImage())
self.Refresh()
wx.EVT_PAINT(self, self.OnPaint)
class MyFrame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size = (640,520))
ZePanel=MyPanel(self,-1)
ZePanel.timer = wx.Timer(ZePanel)
ZePanel.Bind(wx.EVT_TIMER, ZePanel.OnTimer, ZePanel.timer)
ZePanel.timer.Start(1000)
ZePanel.bitmap=wxBitmapFromImage(MyImage())
newURL=wx.TextCtrl(ZePanel, -1, "Cam URL", (0,0), size=(639, -1), style=wx.TE_PROCESS_ENTER)
self.Bind(wx.EVT_TEXT_ENTER, self.EvtTextEnter, newURL)
wx.EVT_PAINT(ZePanel, ZePanel.OnPaint)
def EvtTextEnter(self,event):
global url
url=event.GetString()
event.Skip()
class MyApp(wx.App):
def OnInit(self):
wxInitAllImageHandlers()
frame = MyFrame(None, -1, 'CamView')
frame.Show(True)
self.SetTopWindow(frame)
return True
app = MyApp(0)
app.MainLoop()