• 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窗口,否则验证安装是否成功时会一直提示如下错误:

    >>> import wx
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ImportError: No module named wx

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

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

    >>> import sys
    >>> print sys.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']
    >>> import wx
    >>> 

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

    二.使用

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

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

    import wx  #导入wxPython包;(必须的步骤class Frame(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) class App(wx.App): #定义一个带有OnInit()方法的wx.App的子类,这是wxpython应用程序最基本的要求;必须的步骤 def OnInit(self): 必须的步骤
    #下面是对图像的处理: image
    = wx.Image('D:\python\wxpython.jpg',wx.BITMAP_TYPE_JPEG) self.frame = Frame(image) self.frame.Show() self.SetTopWindow(self.frame) return True myapp = App() #创建一个应用程序类的实例;必须的步骤 myapp.MainLoop() #进入这个应用程序的主事件循环;必须的步骤

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

  • 相关阅读:
    linux 上安裝lnmp
    html 禁用点击事件
    nftables 是什么? 提供什么功能? 如何使用?
    ESXi主机RAID卡_HBA卡_网卡 型号_固件_驱动查询
    Celery Beat定时任务
    Centos 7/8 安装Rabbit-MQ
    Celery 最佳实践
    Django 3.0 + Celery 4.4 + RabbitMQ
    C语言Socket示例
    深入理解计算机系统 — 读书笔记
  • 原文地址:https://www.cnblogs.com/bangbangjiang/p/3421612.html
Copyright © 2020-2023  润新知