2009-10-19 7 views
9

Lo siento, quizás no describí bien el problema la primera vez. Todas sus respuestas son interesantes, pero la mayoría de ellas son casi todos los navegadores web, mi tarea es mucho más simple.Renderer liviano HTML con CSS en Python

Estoy planeando escribir una aplicación de GUI utilizando uno de los marcos de GUI de linux disponibles (aún no he elegido uno). Usaré html en mi aplicación para renderizar en uno de mis marcos de aplicación texto con algunos atributos: diferentes fuentes, etc., que se almacenan en CSS.

HTML será generado por mi aplicación, por lo que la única tarea es representar una cadena HTML/CSS. ¿Hay algún widget que pueda hacer solo eso y nada más, sin historial, sin marcadores, sin URL, etc.? Si no, usaré uno de los que me aconsejó, está bien, pero me interesa si solo hay un renderizador html sin características adicionales.

+0

El QWebView debe ser lo que está buscando, es decir, renderizar html. ¿Miraste la documentación que vinculaba? – mandel

+0

Sí, lo hice. Eso no es exactamente lo que quería: es casi un navegador web capaz de cargar páginas, almacenar historial, etc. Gracias de todos modos, lo usaré, si no encuentro ninguna otra solución – netimen

+0

Tal vez QWebPage podría hacer el truco, pero tengo nunca intenté. – mandel

Respuesta

11

usted debe utilizar un marco de interfaz de usuario:

Otra opción es abrir el navegador web por defecto del sistema operativo a través de algo como esto:

import webbrowser 
url = 'http://www.python.org' 

# Open URL in a new tab, if a browser window is already open. 
webbrowser.open_new_tab(url + '/doc') 

# Open URL in new window, raising the window if possible. 
webbrowser.open_new(url) 

Puede encontrar más información sobre el módulo de navegador web here . Creo que la forma más simple sería utilizar el navegador OS si está buscando algo muy ligero, ya que no depende de un marco y funcionaría en todas las plataformas. Usar Tk puede ser otra opción que es liviana y no requerirá instalar un marco de terceros.

+0

Para no olvidar WxPython (http://www.wxpython.org/): la demostración muestra cómo incorporar Internet Explorer en Windows y WebKit en Mac ... – PhilS

+0

@PhilS Internet Explorer no está disponible en Linux) También es a pesado – netimen

+0

Aquí hay un contenedor para Tkhtml: https://pypi.python.org/pypi/tkinterhtml – Aivar

0

Flying Saucer Project - un creador de XHTML.

No, no es Python. Sin embargo, es llamado trivialmente desde Python.

+0

¿Puedo incrustarlo en mi aplicación Python? – netimen

+0

@netimen: No puedo entender su pregunta. ¿A qué te refieres con "insertar"? Flying Saucer es Java. Puede llamar fácilmente a un programa Java desde Python. ¿Sería eso "incrustado"? Puede usar Jython JVM para ejecutar ambos componentes. ¿Sería eso "incrustado"? –

+0

Quiero decir que quiero renderizar el html en una ventana de mi aplicación, ¿puedo hacerlo? – netimen

0

Tal vez HulaHop podría ser interesante para usted (también se puede combinar con Pyjamas). El proyecto Mozilla Prism también podría ser relevante.