繁体   English   中英

如何使用 wxPython 将带有外部链接的 HTML 文件加载到 CSS 文件?

[英]How to load HTML file with external link to CSS file with wxPython?

我正在尝试使用 wx.html.HtmlWindow 加载一个 Html 文件。 Html 文件链接到外部样式表 (CSS) 文件。 问题是 Html 窗口只显示没有样式(颜色、字体等)的纯 Html 文件。我该如何解决这个问题?

HTML代码:

<html>
<head>
<title>Embedded Style Sample</title>
<link href="E:\pythonGUI\styles.css" rel="stylesheet" type="text/css"/></head>
<body>
<h1>Embedded Style Sample testing</h1>
<h2>Next Line</h2>
</body>
</html>

CSS代码:

h1{
    color: #0000FF;
  }
  h2{
    color: #00CCFF;
  }

浏览器上的 Html 文件

蟒蛇代码:

import  wx 
import  wx.html
import  wx.html2 
  
class MyHtmlFrame(wx.Frame):
    def __init__(self, parent, title): 
        wx.Frame.__init__(
            self, 
            parent, 
            -1, 
            title, 
            size = (600,400)
        )
        html = wx.html.HtmlWindow(self) 
        html.LoadPage("E:\\pythonGUI\\newtest.html") 

app = wx.App()  
frm = MyHtmlFrame(None, "Simple HTML File Viewer")  
frm.Show()  
app.MainLoop()

在 HTML 窗口中显示的 Html 文件:

在 HTML 窗口中显示的 Html 文件

如果您想要完整的 HTML/CSS 支持以及 Javascript 引擎,请考虑改用wx.html2.WebView

来自 wxpython 文档:

wx.html 并没有真正的 CSS 支持,但它确实支持一些简单的样式:您可以对所有元素使用“文本对齐”、“宽度”、“垂直对齐”和“背景”,对于 SPAN 元素,您可以使用一些其他样式也被识别:

 color font-family font-size (only in point units) font-style (only “oblique”, “italic” and “normal” values are supported) font-weight (only “bold” and “normal” values are supported) text-decoration (only “underline” value is supported)

使用 wx.html2.WebView 代替 wx.html.HtmlWindow:

import wx
import wx.html2

class About(wx.Frame):
    def __init__(self):
        wx.Panel.__init__(self,None,-1,title="Title",size=(700,700))

class Test(wx.Frame):
    def __init__(self,title,pos,size):
        wx.Frame.__init__(self,None,-1,title,pos,size)
        self.tester=wx.html2.WebView.New(self)
        self.tester.LoadURL("E:\\pythonGUI\\newtest.html")

if __name__ == "__main__":
    app = wx.PySimpleApp()
    frame = Test("html2 web view", (20, 20), (800, 600))
    frame.Show()
    app.MainLoop()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM