在python使用pil的wx.image的时候,一定要初始化库,否则出现:
Debug: ….srccommonimage.cpp(1454): assert “Ok()” failed in wxImage::GetWidth(): invalid image
因此正确是使用顺序是:
app = wx.App()
img = wx.Image(path)
image.getWidth()
IT夜班车
在python使用pil的wx.image的时候,一定要初始化库,否则出现:
Debug: ….srccommonimage.cpp(1454): assert “Ok()” failed in wxImage::GetWidth(): invalid image
因此正确是使用顺序是:
app = wx.App()
img = wx.Image(path)
image.getWidth()
HTTP
自python2.4之后,提供了httpserver库,所以我们可以很方便创建http服务器。
服务器端我们可以采用HTTPServer,这个类包含在BaseHTTPServer中,客户端我们使用httplib。先直接上服务器和客户端的代码,然后我们再研究。
http服务器端:
from SimpleHTTPServer import SimpleHTTPRequestHandler from BaseH… 更多... “python创建http/https server和client”
http://doc.scrapy.org/en/latest/intro/tutorial.html
In this tutorial, we’ll assume that Scrapy is already installed on your system.If that’s not the case, see
Installation guide.
We are going to use
Open dir… 更多... “python写的网页爬虫-scrapy”
在命令行输入
exit()
本意是想推出python解释器,结果显示:
TypeError: ‘str’ object is not callable
查下python版本发现是2.4,因为之前用的版本是2.7,用exit()退出没有什么问题。
后来发现2.5之前的版本要退出解释器或者程序要用
import sys
sys.ext()
之后的才能用内置的exit()函数。
版权所有,禁止转载. 如需转载,… 更多... “python的exit退出时,提示TypeError: ‘str’ object is not callable”
通常我们导入我们需要的包,通过下列的方式:
import mypack
或者:
from test import mypack
但是我们可能根据不同的情况导入不同的包,例如根据操作系统来导入不同的配置文件,不同资源文件,你可以这样写:
if os is win:
from local import winconfig
from res import winres
elif os is linux:
from local import linuxconf… 更多... “python import字符串”
一个成功的开源项目的其核心功能是打包功能,而出色的打包功能的关键在于版本控制。因为项目是开源的,所以您希望发布的包能够体现出开源社区所具备的优点。不同的平台与语言具有不同的打包机制,本文主要讲述的是 Python 及其打包机制。本文所讨论的打包机制可以作为您的基础学习,此外还提供了大量的实例,可让您快速起步。
除了正确做法这条理由之外,打包软件还有三条实际的理由:
python可以响应内部或者预定义的事件:
self.Bind( wx.EVT_PAINT, self.OnPaint )
def OnPaint( self, evt ):
# do something here
除此之外,我们开可以自定义事件:
import wx
import wx.lib.newevent
MyEvent, EVT_SOME_NEW_EVENT = wx.lib.newevent.NewEvent()
MyCom… 更多... “python中自定义事件”
wxwidgets中提供了BufferedPaintDC,这个类自动帮你完成了后台缓冲dc到前台dc的过程,你不需要想使用MemoryDC那样,在meorydc画完之后再来一次拷贝。
但是我发现不管用了BufferedPaintDC,还是用了MemoryDC的方式,都是没有效果。
后来去官网看了一下,原来是少了这一句:
SetBackgroundStyle(wxBG_STYLE_CUSTOM)
案例:
在windows下面重载StaticBitmap的EVT_PAINT事件的响应函数,结果没有问题,响应函数被调用。但是同样的代码在linux下面,发现响应函数从来没有被调用过。
解决办法:
父类改为Window这个类。
原因:
wxwidgets调用的是本地的控件库,因为windows,linux,mac上面本地控件库是不一样的。因此行为也不一样。一般继承字wxControl的类会有这样的问题。所以… 更多... “关于wxpython或者wxwidgets中EVT_PAINT没有被调用问题”