Why does not my wx.html.HtmlWindow work?

liqfemail at gmail.com liqfemail at gmail.com
Sun Apr 8 21:31:45 EDT 2007


On Apr 9, 1:01 am, Rob Williscroft <r... at freenet.co.uk> wrote:
> liqfem... at gmail.com wrote innews:1176003505.794328.62170 at n76g2000hsh.googlegroups.comin
> comp.lang.python:
>
>
>
> > Below are my source code:
>
> > import wx
> > import wx.html
>
> > class MyHtmlFrame(wx.Frame):
>
> >     def __init__(self, parent, title):
> >         wx.Frame.__init__(self, parent, -1, title, size=(600,400))
> >         html = wx.html.HtmlWindow (self)
> >         if "gtk2" in wx.PlatformInfo:
> >             html.SetStandardFonts()
> >         html.LoadPage("
> >        http://www.pythonthreads.com/articles/python/incorporating-into
> >         -wxpython-part-1.html")
>
> > app = wx.PySimpleApp()
> > frm = MyHtmlFrame(None, "Simple HTML Browser")
> > frm.Show()
> > app.MainLoop()
>
> > It is just an example in the book "wxPython in action". But every time
> > when I try to get it run, my CPU is fully occupied, and there is no
> > frame that comes into existence. Why?
>
> I think your problem is that you call LoadPage before app.MainLoop() is
> called, IOW you need to call LoadPage in an event handler:
>
> import wx
> import wx.html
>
> class MyHtmlFrame(wx.Frame):
>
>     HOME = "http://www.google.co.uk"
>
>     def __init__(self, parent, title):
>         wx.Frame.__init__(self, parent, -1, title, size=(600,400))
>         self.html = wx.html.HtmlWindow (self)
>         if "gtk2" in wx.PlatformInfo:
>             self.html.SetStandardFonts()
>         self.done_show = False
>         wx.EVT_IDLE( self, self.OnShow )
>         self.html.SetPage(
>             "<a href='%s'>Loading ...</a>" % self.HOME
>           )
>
>     def OnShow( self, event ):
>         if self.done_show:
>           return
>         self.done_show = True
>         self.html.LoadPage( self.HOME )
>
> app = wx.PySimpleApp()
> frm = MyHtmlFrame(None, "Simple HTML Browser")
> frm.Show()
> app.MainLoop()
>
> Note: the URL you loading takes ages to show, which is why I
> use:http://www.google.co.ukabove.
>
> Rob.
> --http://www.victim-prime.dsl.pipex.com/


To Rob Williscroft,

It works when I call LoadPage() in any event handler, though I don't
know the reason. I'll try to learn it.
Thank you.
And the example in the book "wxPython In Action" is wrong?




More information about the Python-list mailing list