本期教程给大家更新绝对让你大吃一惊的效果—web嵌入GUI

随着Web技术的蓬勃发展,以网页形式在浏览器上显示图表已经逐渐成为一种主流的形式。

网页的实现是由HTML、CSS和Javascript三者相结合完成的,HTML负责网页的结构,CSS渲染网页元素的样式,而Javascript给网页增加了动态的行为,总体来看,网页版本的图表在显示效果上可以达到更加生动、炫酷的要求。

不过话说回来,对于本地的交互来说,GUI使用起来更为便捷。那么,能不能鱼和熊掌兼得呢?本文来介绍下如何在Python的GUI工具中嵌入HTML页面。

wxPython的wx.html和wx.html2模块支持解析和显示HTML文件内容。

html.HtmlWindow对象是一个通用的HTML浏览器,但不是一个全功能的浏览器,所以支持的功能有限。

比如使用SetPage()设置嵌入一副HTML页面,如下所示:

import wx.html as html

class MyFrame(wx.Frame):

def __init__(self,parent=None):

super(MyFrame, self).__init__(parent, -1, "HTML文件", size=(450, 250))

htmlwin = html.HtmlWindow(self)

#htmlwin.LoadPage("http://www.baidu.com")

htmlwin.SetPage("""

<

html>

<

body

bgcolor=

"#fdd22f">

<

h1>这是标题

h1>

<

b

style=

"color:blue">用Python量化交易

b>

<

p> 通过 rbg 值设置背景颜色

p>

<

br/>

<

p>

这是第一个段落。

p>

<

i>这是斜体文本

i>

body>

<

html>

""")

app = wx.App()

frame = MyFrame()

frame.Show()

app.MainLoop()

当然了,就像刚才所说的,和真正的浏览器差距还是很大的,它只支持HTML标准的一个子集,不支持Javascript或者CSS。我们用LoadPage()加载百度主页时会显示成这个样子,如下所示:

但是wx.html相对轻量级并且没有平台依赖性。我们换成了wx.html2,它支持全特性的HTML渲染组件,包括Javascript和CSS,另一方面也根据不同的平台后端,会表现出不同的行为。

我们使用wx.html2.WebView.New中的 LoadURL加载百度官网页面,如下所示:

class MyBrowser(wx.Dialog):

def __init__(

self, *args, **kwds):

wx.Dialog.__init__(

self, *args, **kwds)

sizer = wx.BoxSizer(wx.VERTICAL)

self.browser = wx.html2.WebView.New(

self)

sizer.Add(

self.browser,

1, wx.EXPAND,

10)

self.SetSizer(sizer)

self.SetSize((

700,

700))

if __name__ ==

'__main__':

app = wx.App()

dialog = MyBrowser(None,

-1)

dialog.browser.LoadURL(

"http://www.baidu.com/?tn=62095104_10_oem_dg")  # 加载页面

dialog.Show()

app.MainLoop()

这么一来,之前我们显示股票行情GUI是这样子的,如下所示:

后来我们发现pyecharts的显示效果更加炫酷啊,如下所示:

于是我们把pyecharts生成的HTML文件加载到wxPython中,变成这样了,如下所示:

关于以上内容更多的探讨,伙伴们可以评论区留言,Python系列详细视频教程也整理好了。需要的伙伴,回复:Python教程,即可领取全套Python视频教程!!

Python 900集全套视频教程(全家桶)

https://pan.baidu.com/s/1cU5lDWq9gh0cQ7hCnXUiGA 提取码: m

python gui web_一篇让你大开眼界的Python教程:让Web和GUI鱼和熊掌兼得相关推荐

  1. Python遥感图像处理应用篇(二十二):Python+GDAL 批量等距离裁剪影像-续

    之前写过一篇按照指定行列号数量来进行影像等距离裁剪的博客,链接如下: Python遥感图像处理应用篇(二十二):Python+GDAL 批量等距离裁剪影像_空中旋转篮球的博客-CSDN博客_pytho ...

  2. Python遥感图像处理应用篇(二十四):Python绘制遥感图像各波段热力图(相关系数矩阵)

    给多光谱遥感图像各个波段绘制热力图,首先需要计算波段之间的相关系数矩阵,而计算遥感图像波段相关系数矩阵有不同的方法,常用的我们可以采用遥感图像处理软件计算,比如ENVI软件就可以计算相关系数矩阵,使用 ...

  3. Python遥感图像处理应用篇(二十五):Python+GDAL 波段组合

    1.使用场景描述 之前使用arcpy python2.7写了一篇进行遥感数据波段组合计算的博文,使用场景是将所有单波段数据放在一个文件夹中(如下图),文件名称前缀一样,后缀波段编号用来区分不同的波段, ...

  4. python语音程序设计基础篇_【笔记】python自学笔记(基础篇)——字典操作

    字典:是一系列键值对,每个关键字都对应一个值,我们可以使用关键字来访问关联的值,与关键字关联 的可以是数,字符串,列表乃至字典,事实上,可将任何python对象用作字典的值 字典用放在花括号{}中的一 ...

  5. 【Python】【进阶篇】十二、Python爬虫的Xpath简明教程(十分钟入门)

    目录 十二.Python爬虫的Xpath简明教程(十分钟入门) 12.1 Xpath表达式 12.2 Xpath节点 12.3 节点关系 12.4 Xpath基本语法 12.4.1 基本语法使用 12 ...

  6. 【Python】【入门篇】十二、Python中协程

    目录 十二.Python中协程 12.1 协程的定义 12.2 协程 12.3 协程池 12.4 总结 十二.Python中协程 12.1 协程的定义 协程(Coroutine):是一种比线程更加轻量 ...

  7. 【Python】【进阶篇】十六、Python爬虫的浏览器实现抓包

    目录 十六.Python爬虫的浏览器实现抓包 16.1 控制台界面 16.1.1 NetWork 16.1.2 Sources 16.1.3 Console 16.1.4 Application 16 ...

  8. 全栈python之路——三篇文章带你踏入python大门-基础02

    列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 一.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 names ...

  9. 100天精通Python丨基础知识篇 —— 07、10个Python高级库总结

    梦想还是要有的,万一别人问呢? 一.python常用高级库 1.操作数据库:MySQLdb 安装MySQLdb,请访问 http://sourceforge.net/projects/mysql-py ...

最新文章

  1. mx3 android 5.1,魅族MX3揭晓:猎户座处理器5.1寸屏幕
  2. 你的企业客户服务,离卓越还有多远?
  3. 皮一皮:时代不同了...
  4. 局域网内多台linux服务器时间同步的一种解决方案
  5. [APIO2013]机器人(DP+SPFA最短路)
  6. python如何用色度表示数值大小_python中色度通道的YUV子采样
  7. 条件概率的一些结论以及理解
  8. Python降低XGBoost 过度拟合多种方法
  9. linux命令hexdump,Linux中hexdump命令起什么作用呢?
  10. Linux版Flash亮相,但64位版需时间
  11. 1.如何判断正交表对错
  12. dsp处理浮点数_DSP学习笔记(二)——DSP中浮点数与定点数格式与运算处理
  13. QPS,TPS,RT是什么?
  14. iOS动画专题·UIView二维形变动画与CAAnimation核心动画
  15. 绘制图形与3D增强技巧(三)----三角形图元TRANGLE
  16. echarts+echarts-gl vue2制作3D地图+下钻功能+标记点功能,解决dblclick事件失效问题,解决地图下钻后边框不更新保留问题
  17. 工具分享--IDM下载工具利器,让下载速度提升一百倍
  18. Oracle-SQL-group by-报错:不是单组分组函数
  19. 找寻自己的哲学世界?
  20. 在python中遍历字典元素

热门文章

  1. 映射网络驱动器错误:无法找到网络名,该设备或资源未设置为接受端口,“文件和打印机共享(SMB)”上的连接。
  2. 图片识别商品接口 API:天猫淘宝
  3. [HNCTF]crypto-wps
  4. matlab 数理统计,(完整版)Matlab概率论与数理统计
  5. #获取A股所有股票代码
  6. 微信支付企业付款的php开发实例
  7. java开发工程师报名费多少_都说Java工程师的薪资比较高,事实真是如此吗?
  8. 第二周 Day 3—— Python容器
  9. 前端面试那些你必须手撕的代码
  10. 费马大定理:一部跨时代的惊险小说