dialog中加载html,5.嵌入html页面——在dialog中使用

import json

import os

import wx.html2

import wx

from utils.log.log_helper import LogHelper

class ReportDialog(wx.Dialog):

def __init__(self, parent=None, title="测试报告", report_blocks=[], style=wx.DEFAULT_DIALOG_STYLE):

super(ReportDialog, self).__init__(parent, -1, title=title, style=style)

self.report_blocks = report_blocks

report_dialog_box = wx.FlexGridSizer(rows=1, cols=1, vgap=10, hgap=10)

self.report_web_view = wx.html2.WebView.New(self, id=3)

self.report_web_view.LoadURL(os.path.abspath('public/log/log.html'))

# 添加监听事件,以便在页面加载完以后在运行jsvascript

self.report_web_view.Bind(wx.html2.EVT_WEBVIEW_LOADED, self.loaded)

report_dialog_box.Add(self.report_web_view, 1, wx.EXPAND)

report_dialog_box.AddGrowableRow(0)

report_dialog_box.AddGrowableCol(0)

self.SetSizer(report_dialog_box)

self.SetSize((650, 650))

self.Center()

def loaded(self, e):

if e.GetURL() == 'about:blank': # Skip if it's a blank page.

return

self.init_page()

def init_page(self):

if len(self.report_blocks) != 0:

for block in self.report_blocks:

self.run_script(LogHelper.add_log_script(block.title, 1, is_title=True))

block_logs = json.loads(block.logs_json)

for block_log in block_logs:

self.run_script(LogHelper.add_log_script(block_log["msg"], block_log["type"]))

self.run_script("changeResultColor('" + block.result.name + "')")

def run_script(self, message):

success, ret = self.report_web_view.RunScript(message)

print(message, success, ret, '==')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值