HtmlWindow无法正确显示图像

2024-09-29 06:26:08 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有以下问题:HtmlWindow不能正确显示HTML文件中的图像。将显示一个红色像素化的X,而不是实际图像

这是我的代码:

class OpenMail(Inbox):
    def __init__(self, parent, title):
        wx.Frame.__init__(self, None, title='Email')
        wx.InitAllImageHandlers()

        vbox = wx.BoxSizer(wx.HORIZONTAL)
        self.SetSizer(vbox)

        self.htmlwin = wx.html.HtmlWindow(self, style=wx.html.HW_SCROLLBAR_AUTO)
        vbox.Add(self.htmlwin, 1, wx.EXPAND)

    def openEmail2(self,x):
        self.htmlwin.LoadPage(x)

Html示例:

https://pastebin.com/GJJsyDY3


Tags: 文件代码图像selftitleinitdefhtml
1条回答
网友
1楼 · 发布于 2024-09-29 06:26:08

见:Output images to html using python 我不能说讨论中所说的是否仍然有效,但我没有理由怀疑它。
从那时起,已经添加了支持javascript和css的wx.html2

import wx
import wx.glcanvas as glcanvas
import wx.html2

class myGLCanvas(glcanvas.GLCanvas):
    def __init__(self, parent):
        glcanvas.GLCanvas.__init__(self, parent,-1)
        sizer = wx.BoxSizer(wx.VERTICAL)
        self.browser = wx.html2.WebView.New(self)
        sizer.Add(self.browser, 1, wx.EXPAND, 10)
        self.SetSizer(sizer)
        self.context = glcanvas.GLContext(self)
        self.browser.LoadURL("file:///home/rolf/d.html")

def main():
    app = wx.App()
    frame = wx.Frame(None,-1,'Web',wx.DefaultPosition,size=(800,800))
    canvas = myGLCanvas(frame)
    frame.Show()
    app.MainLoop()

if __name__ == '__main__':
    main()

避免OpenGL支持,只需正常使用wx.Frame

import wx
import wx.html2

class TestFrame(wx.Frame):
    def __init__(self, *args, **kwargs):
        wx.Frame.__init__(self, *args, **kwargs)
        sizer = wx.BoxSizer(wx.VERTICAL)
        self.browser = wx.html2.WebView.New(self)
        sizer.Add(self.browser, 1, wx.EXPAND, 10)
        self.SetSizer(sizer)
        self.browser.LoadURL("file:///home/rolf/d.html")

def main():
    app = wx.App()
    frame = TestFrame(None,-1,'Web',wx.DefaultPosition,size=(800,800))
    frame.Show()
    app.MainLoop()

if __name__ == '__main__':
    main()

enter image description here

出于测试目的d.html包含链接的html代码:

&13; 第13部分,;
<html><head><meta http-equiv="content-type" content="text/html;charset=UTF-8" /><title>Three tips to get the most out of Gmail</title></head><body style="background-color:#e5e5e5; margin:20px 0;"><br /><div style="margin:2%;"><div style="direction:ltr; text-align:left; font-family:'Open sans','Arial',sans-serif; color:#444; background-color:white; padding:1.5em; border-radius:1em; box-shadow:1px -5px 8px 2px #bbb; max-width:580px; margin:2% auto 0 auto;"><table style="background:white;width:100%"><tr><td><div style="width:90px; height:54px; margin:10px auto;"><img src="https://services.google.com/fh/files/emails/google_logo_flat_90_color.png" alt="Google" width="90" height="34"/></div><div style="width:90%; padding-bottom:10px; padding-left:15px"><p><img alt="" src="https://ssl.gstatic.com/accounts/services/mail/msa/gmail_icon_small.png" style="display:block; float:left; margin-top:4px; margin-right:5px;"/><span style="font-family:'Open sans','Arial',sans-serif; font-weight:bold; font-size:small; line-height:1.4em">Hi Adam</span></p><p><span style="font-family:'Open sans','Arial',sans-serif; font-size:2.08em;">Tips to get the most out of Gmail</span><br/></p></div><p></p><div style="float:left; clear:both; padding:0px 5px 10px 10px;"><img src="https://services.google.com/fh/files/emails/importcontacts.png" alt="Contacts" style="display:block;"width="129"height="129"/></div><div style="float:left; vertical-align:middle; padding:10px; max-width:398px; float:left;"><table style="vertical-align:middle;"><tr><td style="font-family:'Open sans','Arial',sans-serif;"><span style="font-size:20px;">Bring your contacts and mail into Gmail</span><br/><br/><span style="font-size:small; line-height:1.4em">On your computer, you can copy your contacts and emails from your old email account to make the transition to Gmail even better. <a href="https://support.google.com/mail/answer/164640?hl=en&amp;ref_topic=1669014" style="text-decoration:none; color:#15C">Learn how</a>.</span></td></tr></table></div><div style="float:left; clear:both; padding:0px 5px 10px 10px;"><img src="https://ssl.gstatic.com/mail/welcome/localized/en/welcome_search.png" alt="Search" style="display:block;"width="129"height="129"/></div><div style="float:left; vertical-align:middle; padding:10px; max-width:398px; float:left;"><table style="vertical-align:middle;"><tr><td style="font-family:'Open sans','Arial',sans-serif;"><span style="font-size:20px;">Find what you need fast</span><br/><br/><span style="font-size:small; line-height:1.4em">With the power of Google Search right in your inbox, it's easy to sort your email. Find what you're looking for with predictions based on email content, past searches and contacts.</span></td></tr></table></div><div style="float:left; clear:both; padding:0px 5px 10px 10px;"><img src="https://ssl.gstatic.com/accounts/services/mail/msa/welcome_hangouts.png" alt="Search" style="display:block;"width="129"height="129"/></div><div style="float:left; vertical-align:middle; padding:10px; max-width:398px; float:left;"><table style="vertical-align:middle;"><tr><td style="font-family:'Open sans','Arial',sans-serif;"><span style="font-size:20px;">Much more than email</span><br/><br/><span style="font-size:small; line-height:1.4em">You can send text messages and make video calls with <a href="https://www.google.com/intl/en/hangouts/" style="text-decoration:none; color:#15C">Hangouts</a> right from Gmail. To use this feature on mobile, download the Hangouts app for <a href="https://play.google.com/store/apps/details?id=com.google.android.talk&amp;hl=en" style="text-decoration:none; color:#15C">Android</a> and <a href="https://itunes.apple.com/en/app/hangouts/id643496868?mt=8" style="text-decoration:none; color:#15C">Apple</a> devices.</span></td></tr></table></div><br/><br/>
<div style="clear:both; padding-left:13px; height:6.8em;"><table style="width:100%; border-collapse:collapse; border:0"><tr><td style="width:68px"><img alt='Gmail icon' width="49" height="37" src="https://ssl.gstatic.com/accounts/services/mail/msa/gmail_icon_large.png" style="display:block;"/></td><td style="align:left; font-family:'Open sans','Arial',sans-serif; vertical-align:bottom"><span style="font-size:small">Happy emailing,<br/></span><span style="font-size:x-large; line-height:1">The Gmail Team</span></td></tr></table></div>
</td></tr></table></div>
<div style="direction:ltr;color:#777; font-size:0.8em; border-radius:1em; padding:1em; margin:0 auto 4% auto; font-family:'Arial','Helvetica',sans-serif; text-align:center;">© 2014 Google Inc. 1600 Amphitheatre Parkway, Mountain View, CA 94043<br/></div></div></body></html>
和#13;
和#13;

相关问题 更多 >