2009-10-19 18 views
9

對不起,也許我沒有很好地描述過這個問題。你所有的答案都很有趣,但其中大部分都是幾乎全功能的網頁瀏覽器,我的任務要簡單得多。用Python編寫的輕量級渲染器HTML

我正在計劃使用Linux GUI框架(我還沒有選擇其中之一)上編寫一個GUI應用程序。我將在我的應用程序中使用html將其呈現爲我的應用程序框架中的一個文本,其中包含一些屬性 - 不同的字體等,這些屬性都存儲在CSS中。

HTML應該由我的應用程序生成,因此唯一的任務是呈現HTML/CSS字符串。是否有任何可以只做渲染的小部件 - 沒有歷史,沒有書籤,沒有URL加載等?如果沒有,我會使用你建議的那一個 - 沒關係 - 但我只是感興趣,如果只有一個沒有任何額外功能的HTML渲染器。

+0

該QWebView應該是你在找什麼,這是呈現HTML。你看過我鏈接的文檔嗎? – mandel 2009-10-20 07:10:16

+0

是的,我做到了。這不是我想要的:它幾乎是一個能夠加載頁面,存儲歷史記錄等的網頁瀏覽器。無論如何,謝謝你,我會用它,如果我沒有找到任何其他解決方案 – netimen 2009-10-20 07:51:20

+0

也許QWebPage可以做到這一點,但我有從未嘗試過。 – mandel 2009-10-20 09:59:27

回答

11

你應該使用一個UI框架:

的TkHtml小部件的另一種選擇是通過像這樣打開操作系統的默認瀏覽器:

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) 

您可以找到有關web瀏覽器模塊here更多信息。我認爲最簡單的方法是使用os瀏覽器,如果你正在尋找一個非常輕量級的東西,因爲它不依賴於框架,它可以在所有平臺上工作。使用Tk可能是另一種輕量級的選項,不需要安裝第三方框架。

+0

不要忘記WxPython(http://www.wxpython.org/):該演示展示瞭如何在Windows上嵌入Internet Explorer和在Mac上嵌入WebKit ... – PhilS 2009-10-19 09:47:17

+0

@PhilS Internet Explorer在Linux上不可用) to heavy – netimen 2009-10-19 14:44:43

+0

以下是Tkhtml的封裝:https://pypi.python.org/pypi/tkinterhtml – Aivar 2016-02-16 08:55:52

0

Flying Saucer Project - 一個XHTML渲染器。

不,它不是Python。它是 - 但是 - 從Python中簡單地調用。

+0

我可以將它嵌入到我的python應用程序中嗎? – netimen 2009-10-19 14:40:58

+0

@netimen:我不明白你的問題。 「嵌入」是什麼意思?飛碟是Java。您可以輕鬆地從Python中調用Java程序。那會是「嵌入式」嗎?您可以使用Jython JVM運行這兩個組件。那會是「嵌入式」嗎? – 2009-10-19 15:08:29

+0

我的意思是我想將html渲染到我的應用程序的窗口中 - 我可以這樣做嗎? – netimen 2009-10-19 15:58:17

0

也許HulaHop對您而言可能是感興趣的(也可以和Pyjamas合併使用)。 Mozilla Prism項目可能也是相關的。