python用户界面导入图片_python学习笔记之11:图像用户界面

这里会介绍如何创建python程序的图像用户界面(GUI),也就是那些带有按钮和文本框的窗口等。目前支持python的所谓“GUI工具包”的有很多,本文简要介绍最成熟的跨平台pythonGUI工具包---wxPython。

一. 下载和安装wxPython

1.1 下载

访问下载页面:http://wxpython.org/download.php即可。

要注意以下几点:

1. 如果是windows系统,应该下载预建的二进制版本,可以选择支持Unicode或不支持Unicode,除非一定要用到Unicode,否则2个版本的区别不大;

2. 确保所选择的二进制版本要对应Python版本,比如python2.3对应的wxpython不能用于python2.4;

3. 如果没有任何版本适合硬件或操作系统,可以下载源代码发布版;

4. 在下载了wxpyhton之后,强烈建议下载演示版本(demo,它需要独立安装),它包含文档,示例程序和非常详细的演示分布。

1.2 安装

安装过程很简单,都是自动完成的,一直点“continue”就好了。

安装完毕之后,建议重新打开IDLE窗口,否则验证安装是否成功时会一直提示如下错误:

>>> importwx

Traceback (most recent call last):

File"", line 1, in ImportError: No module named wx

ps:LZ我就是在安装完之后,忘记重启IDLE窗口,导致import wx时一直提示这个错误,以为安装失败了。

导入wx模块成功的话,不会有其他提示。如下是我的wxPython安装目录,请拖到最后查看,最后一个目录为:'C:\\Python27\\lib\\site-packages\\wx-2.8-msw-unicode':

>>> importsys>>> printsys.path

['D:/python', 'C:\\Python27\\Lib\\idlelib', 'C:\\Python27\\Lib\\site-packages\\wx-2.8-msw-unicode\\wxPython', 'C:\\Python27\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\wx-2.8-msw-unicode']>>> importwx>>>

正如前面一章《模块和包》中讲到的,sys.path中的内容就是告诉解释器去哪里找模块。现在wx在sys.path路径下,证明wx已经被python识别为一个模块,可以正常使用了。

二.使用

在学习的过程中,我发现一个很好的能够学习wxPython的网站,跟大家分享一下:http://wiki.woodpecker.org.cn/moin/WxPythonInAction

这里介绍里面讲到的一个最基本的wxPython程序:

importwx #导入wxPython包;(必须的步骤)classFrame(wx.Frame): # 定义一个wx.Frame的子类,以便我们更容易控制框架的内容和外观;def __init__(self,image,parent = None,id = -1,

pos=wx.DefaultPosition,

title= 'Hello,wxPython!'): #给框架的构造器增加一个图像参数,后面的应用程序会提供;

#下面是显示图像的步骤:

temp=image.ConvertToBitmap()

size=temp.GetWidth(),temp.GetHeight()

wx.Frame.__init__(self, parent, id, title, pos, size)

self.bmp= wx.StaticBitmap(parent = self,bitmap =temp)classApp(wx.App): #定义一个带有OnInit()方法的wx.App的子类,这是wxpython应用程序最基本的要求;(必须的步骤)defOnInit(self): (必须的步骤)

#下面是对图像的处理:

image= wx.Image('D:\\python\\wxpython.jpg',wx.BITMAP_TYPE_JPEG)

self.frame=Frame(image)

self.frame.Show()

self.SetTopWindow(self.frame)returnTrue

myapp=App() #创建一个应用程序类的实例;(必须的步骤)

myapp.MainLoop() #进入这个应用程序的主事件循环;(必须的步骤)

ps:LZ我也才入门wxpython,暂时也就只能分享到这里了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值