Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Light-weight renderer HTML with CSS in Python

Sorry, perhaps I haven't described the problem well first time. All your answers are interesting, but most of them are almost full-featured web browsers, my task is much simpler.

I'm planning to write a GUI application using one of the available on linux GUI frameworks (I haven't yet chosen one). I shall use html in my application to render into one of my application frames text with some attributes — different fonts etc, which are stored in CSS.

The HTML shall be generated by my application, so the only task is to render a HTML / CSS string. Is there any widget which can do only that render and nothing more — no history, no bookmarks, no URL-loading etc? If there isn't I shall use one of those you advised — it's ok — but I'm just interested if there is just an html-renderer without any extra features.

like image 523
netimen Avatar asked Oct 19 '09 09:10

netimen


1 Answers

You should use a UI framework:

  • Qt: The simplest class to use would be QWebView
  • Gtk: pywebkitgtk would be the best answer, but you can find others in the PyGTK page.
  • In Tk is the TkHtml widget from here

An other option is to open the OS default web browser through something like this:

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)

You can find more info about the webbrowser module here. I think that the simplest way would be to use the os browser if you are looking for something very light-weight since it does not depend on a framework and it would work in all platforms. Using Tk may be an other option that is light and will not require to install a 3rd party framework.

like image 112
mandel Avatar answered Oct 10 '22 02:10

mandel