编写环境:
1、ActivePython-2.7.2.5-win32-x86
2、wxPython2.8-win32-unicode-2.8.12.1-py27
3、wxFormBuilder_v3.3.3-beta
以下代码是演示怎样利用IEHtmlWindow载入网页,并实现打印预览和打印的的功能:
#coding:utf-8
import wx
from wx.lib import iewin
class MyFrame ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 674,421 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
self.menu = wx.MenuBar( 0 )
self.menu1 = wx.Menu()
self.LoadPage = wx.MenuItem( self.menu1, wx.ID_ANY, u"打开文件", wx.EmptyString, wx.ITEM_NORMAL )
self.menu1.AppendItem( self.LoadPage )
self.PrintPreview = wx.MenuItem( self.menu1, wx.ID_ANY, u"打印预览", wx.EmptyString, wx.ITEM_NORMAL )
self.menu1.AppendItem( self.PrintPreview )
self.Print = wx.MenuItem( self.menu1, wx.ID_ANY, u"打印", wx.EmptyString, wx.ITEM_NORMAL )
self.menu1.AppendItem( self.Print )
self.menu.Append( self.menu1, u"文件" )
self.SetMenuBar( self.menu )
bSizer = wx.BoxSizer( wx.VERTICAL )
self.ie = iewin.IEHtmlWindow(self)
self.ie.AddEventSink(self)
bSizer.Add( self.ie, 1, wx.EXPAND, 5 )
self.Centre( wx.BOTH )
# Connect Events
self.Bind( wx.EVT_MENU, self.LoadPageOnMenuSelection, id = self.LoadPage.GetId() )
self.Bind( wx.EVT_MENU, self.PrintPreviewOnMenuSelection, id = self.PrintPreview.GetId() )
self.Bind( wx.EVT_MENU, self.PrintOnMenuSelection, id = self.Print.GetId() )
def __del__( self ):
pass
def DocumentComplete(self,this,pDisp,URL):
print 'Done'
# Virtual event handlers, overide them in your derived class
def LoadPageOnMenuSelection( self, event ):
#self.ie.Navigate("http://baidu.com/") # your URL here
#self.ie.LoadUrl('http://www.baidu.com')
#self.ie.LoadStream(page)
#self.ie.LoadString(page)
loadstring = u'''
<html>
<body>
<p align="center"><font face="华文琥珀" size="7" color="#CC3300">这是一个简单的测试……</font></p>
</body>
</html>
'''
self.ie.LoadString(loadstring)
#import StringIO
#self. ie.LoadStream( StringIO.StringIO( page.decode("utf8") ) )
#file = open('index2.htm')
#self. ie.LoadStream(file)
#file.close()
event.Skip()
def PrintPreviewOnMenuSelection( self, event ):
self.ie.PrintPreview()
event.Skip()
def PrintOnMenuSelection( self, event ):
self.ie.Print(True)
event.Skip()
app = wx.PySimpleApp()
frm = MyFrame(None)
frm.Maximize()
frm.Show()
app.MainLoop()
分享到:
相关推荐
python通过pywin32执行调用打印机打印pdf文件,压缩包内两个文件,一个是gs927w64.exe安装包,一个解压好直接用的GSPRINT压缩包
python调用大漠插件python调用大漠插件python调用大漠插件python调用大漠插件
调用打印机打印图片(python)。。。。。。。。。。。。。。。。。。。
Python 调用Java实例详解 前言: Python 对服务器端编程不如Java 所以这方面可能要调用Java代码 前提: Linux 环境 1 安装 jpype1 安装后测试代码: from jpype import * startJVM(getDefaultJVMPath(), "-ea...
python调用迅雷sdk实现迅雷下载,不需要安装迅雷实现迅雷下载,所有调用的接口具体介绍,参考迅雷云加速开放平台文档 http://open.xunlei.com/wiki/tutorial.html 迅雷SDK只提供了32位的版本.所以python版本必须为32位...
Python调用制冷剂物性参数计算软件Refprop.pdf
使用Python调用Abaqus交互命令,替代图形交互界面,ABAQUS官方帮助文档,侵删。
博客简单介绍了Prometheus架构、基础概念、API使用,里面主要是Python调用Prometheus的API完整代码,需要自取即可。
里面有详细教程和编程实例,指导你如何如何在liunx下编写.so文编并通过python调用,里面涉及到了c++和python的混合编程,简单易学,适合入门者学习!
使用python 调用api 创建openstack的user,network,subnet,image等
python调用乐玩多线程源码
Python 调用C# dll文件 pythonnet
python调用WEBSERVICE接口
python 调用执行 JS 的源码, python 调用执行 JS 的源码
python调用halcon程序/.hdev文件/直接调用halcon引擎, https://blog.csdn.net/sunnyrainflower/article/details/128364587
ctypes库的使用 python调用Windows DLL ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数。
Python调用公有云api操作手册.docx
Python C/C++混编 Python 调用C函数 传递参数为:值传递,指针传递,数组
Python中调用C++dll例子,使用python中的ctypes。