• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Triton

[Python] Browser HTML em Python (25 linhas)

9 mensagens neste tópico

#!/usr/bin/python
class Frame(wx.Frame):

   def userPageButton(self, event):
       goToPage=self.userPage.GetValue()
       goToPage='http://www.' + goToPage
       webpage=urlopen(goToPage).read()
       displayPage=self.html.SetPage(webpage)

   def __init__(self):
       wx.Frame.__init__(self, parent=None, id=-1, title='microBrowser', size=(800, 600), pos=(50, 50))
       panel=wx.Panel(self)
       self.userPage=wx.TextCtrl(panel, pos=(400, 5)) #
       self.html = wx.html.HtmlWindow(panel, id=-1, size=(780, 530), pos=(10, 35), style=wx.html.HW_SCROLLBAR_AUTO)
       userPageButton=wx.Button(panel, label='Go!', pos=(300, 5))
       userPageButton.Bind(wx.EVT_BUTTON, self.userPageButton)

class App(wx.App):

   def OnInit(self):
       self.frame=Frame()
       self.frame.Show()
       self.SetTopWindow(self.frame)
       return True

if __name__=='__main__':
   app=App()
   app.MainLoop()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tentei correr o codigo e deu-me erro de sintax em "class App".(Já tou a usa o novo Python 2.5)

Se não fosse muito incomudo podias explicar a primeira linha nunca precebi muito bem para que serve.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Serve para ambientes *nix saberem onde encontrar o interpretador de forma a correr logo o ficheiro. Penso que se chama shebang line. Assim torna o código portável entre sistema, já que em Windows não faz diferença. Já agora, tens o wxPython no Python 2.5? Acho que já tem lá no site. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já e desta vez funciona prefeitamente.

Tentei correr o teu prgm e:

Traceback (most recent call last):

  File "C:\Python25\browser.py", line 28, in <module>

    app=App()

  File "C:\Python25\lib\site-packages\wx-2.6-msw-unicode\wx\_core.py", line 7700, in __init__

    self._BootstrapApp()

  File "C:\Python25\lib\site-packages\wx-2.6-msw-unicode\wx\_core.py", line 7352, in _BootstrapApp

    return _core_.PyApp__BootstrapApp(*args, **kwargs)

  File "C:\Python25\browser.py", line 22, in OnInit

    self.frame=Frame()

  File "C:\Python25\browser.py", line 8, in __init__

    self.html = wx.html.HtmlWindow(panel, id=-1, size=(780, 530), pos=(10, 35), style=wx.html.HW_SCROLLBAR_AUTO)

AttributeError: 'module' object has no attribute 'html'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não falta aí nenhum import Triton?

Deve faltar o import wx.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deve faltar o import wx.

Nem com isso lá vai. Dá buraco:

[djthyrax@dawn ~]$ python browser.py
Traceback (most recent call last):
 File "browser.py", line 28, in <module>
app=App()
 File "/usr/lib/python2.5/site-packages/wx-2.6-gtk2-unicode/wx/_core.py", line 7700, in __init__
self._BootstrapApp()
 File "/usr/lib/python2.5/site-packages/wx-2.6-gtk2-unicode/wx/_core.py", line 7352, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
 File "browser.py", line 22, in OnInit
self.frame=Frame()
 File "browser.py", line 15, in __init__
self.html = wx.html.HtmlWindow(panel, id=-1, size=(780, 530), pos=(10, 35), style=wx.html.HW_SCROLLBAR_AUTO)
AttributeError: 'module' object has no attribute 'html'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não deves ter o wx.

A mim no windows tambem não corre mas por uma razão diferente... aparentemente o modulo wx não define nenhum membro chamado html...

Traceback (most recent call last):
  File "C:\Documents and Settings\P\Desktop\br.pyw", line 29, in ?
    app=App()
  File "C:\Python24\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 7757, in __init__
    self._BootstrapApp()
  File "C:\Python24\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 7354, in _BootstrapApp
    return _core_.PyApp__BootstrapApp(*args, **kwargs)
  File "C:\Documents and Settings\P\Desktop\br.pyw", line 23, in OnInit
    self.frame=Frame()
  File "C:\Documents and Settings\P\Desktop\br.pyw", line 16, in __init__
    self.html = wx.html.HtmlWindow(panel, id=-1, size=(780, 530), pos=(10, 35), style=wx.html.HW_SCROLLBAR_AUTO)
AttributeError: 'module' object has no attribute 'html'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não deves ter o wx.

A mim no windows tambem não corre mas por uma razão diferente... aparentemente o modulo wx não define nenhum membro chamado html...

Tenho sim, o erro é igual ao teu (removi o primeiro erro agora porque entretanto tinha feito apt-get.).
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora