当前位置:   article > 正文

wxpython是什么_wxpython 教程(一): wxPython 简介 | wxPython 介绍 | 教程 推荐 | 老土译站...

wxpython

wxPython 简介

应用(application)是用来执行特定任务或一组任务的电脑程序。网页浏览器、媒体播放器、文字处理程序都是典型的应用样例。不同应用可以划分至四种不同的应用领域:

areas.jpg

图:不同种类的应用领域

在线商店应用、wiki、微博等都是受欢迎的网页(web)应用,我们通过网页浏览器可以访问它们。桌面(Desktop)应用的例子则包括 Maya、Opera、Open Office或 Winamp。企业级(Enterprise)应用则指复杂的大型应用。移动(Portables)应用包括所有为手机等移动设备开发的应用。

编程语言

目前有很多种非常流行的编程语言,以下列表来自于TIOBE Programming Community Index (2014,10)。

排名

语言

投票率

1

C

17.6%

2

Java

13.5%

3

Objective-C

10.1%

4

C++

4.8%

5

C#

4.7%

6

Basic

3.5%

7

PHP

2.9%

8

Python

2.3%

9

Perl

2.1%

10

Transact-SQL

2.1%

可见python属于最热门语言之一。

Python

pythonlogo.pngPython 是一种脚本语言,受ABC 和Haskell编程语言的启发,最初由Guido van Rossum开发,发布于1991年。Python是一种高级、通用、跨平台的解释性语言,有人也叫它“动态语言”。Python非常简约易学,而且不常用分号或括号,它使用缩进来控制代码结构。如今有来自世界各地的大批志愿者维护Python项目。

Python程序员在编写图形用户界面时,至少有三种选择:PyGTK、wxPython以及PyQt。本教程主要讲解wxPython的使用。

wxPython

wxPython是一个创建桌面GUI应用的跨平台工具包(toolkit),它的主要开发者是Robin Dunn。使用wxPython,开发者可以在Windows、Mac和多种Unix系统上开发应用程序。wxPython是对成熟的跨平台C++ 库wxWidgets的封装,主要包括以下5个基本模块:

modules.jpg

图:wxPython 模块

Controls模块提供图形应用中通用的部件(widgets),比如按钮(Button)、工具栏(Toolbar)或者记事本(Notebook)。在Windows系统中,widgets被称为controls。Core模块包含了开发中用到的各种类(classes)。这些类包括Object类(所有类的父类)、Sizers类(对部件进行布局的类)、Events类(事件)、基本的几何结构类(如点Point和矩形Rectangle)。GDI(Graphics Device Interface,图形设备接口)是在部件上作图的类的集合,包括操作字体(Fonts)、颜色(Colours)、笔刷(Brushes)、笔(Pen)和图片(Images)等类。Misc包括多种其他类,比如日志(logging)、应用配置、系统设置等。Windows模块包含多种窗口类,比如面板(Panel)、对话框(Dialog)、框架(Frame)或者可滚动窗口(Scrolled Window)。

wxPython API

wxPython API是一系列方法和对象的集合。技术上来说,wxPython是对C ++图形界面编程API wxWidgets的封装,所以它不是native的API,即不是直接由python编写的。

在wxPython中,我们有很多的widgets,他们可以被分为以下几组。

Base Widgets

Base Widgets,这些widgets提供最基本的功能,被称作祖先类,一般不直接使用。

base.jpg

图:Base widgets

Top level Widgets

Top level Widgets,即顶级widgets,这些widgets彼此独立存在。

toplevel.jpg

图:Top level Widgets

Containers

Containers即容器,一般包含其他widgets。

containers.jpg

图:Containers

Dynamic Widgets

Dynamic widgets,即动态部件,这些部件可以直接被用户操作,如下图所示。

dynamic.jpg

图:Dynamic widgets

Static Widgets

Static Widgets,即静态部件,用户无法对它们进行编辑。

staticwidgets.jpg

图:Static Widgets

Other Widgets

Other Widgets,即其他部件,包括工具栏、状态栏以及菜单栏。

bars.jpg

图:Other Widgets

继承

wxPython中部件之间存在继承的关系,对于面向对象编程来说,继承是非常重要的一部分。widgets构建出层级关系,widgets可以从其他widgets继承功能特性。已存在的类叫做基类、父类或祖先,继承的类叫做派生类、子类或者后代。这些术语借鉴自生物学概念。

inheritance.png

图:继承图

比如我们在应用中使用了一个button widget,这个button widget继承自4个不同的基类。最近的类是wx.Control类。controls是指可以放在其他容器widgets上的widgets。并非所有的widgets都是controls,比如wx.Dialog就不是。

button widget是一种窗口部件,所有出现在屏幕上的部件都是小窗口,所以它们都继承自wx.Window类。

每个window对象都可以对事件(Events)作出响应,button widget也不例外。点击按钮时,会触发wx.EVT_COMMAND_BUTTON_CLICKED事件。Button widget通过wx.Window继承了wx.EvtHandler类。每一个响应事件的widget都必须继承自wx.EvtHandler类。

最后,所有的类都继承自wx.Object类,它是wxPython中所有类的父类。

以上,即本节内容:wxPython简介。你无须完全看懂以上,相关内容我们会在后续章节中详细介绍。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/773757
推荐阅读
相关标签
  

闽ICP备14008679号