大家好,又见面了,我是你们的朋友全栈君。
应用(application)是用来执行特定任务或一组任务的电脑程序。网页浏览器、媒体播放器、文字处理程序都是典型的应用样例。不同应用可以划分至四种不同的应用领域:
在线商店应用、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
Python 是一种脚本语言,受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个基本模块:
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提供最基本的功能,被称作祖先类,一般不直接使用。
TOP LEVEL WIDGETS
Top level Widgets,即顶级widgets,这些widgets彼此独立存在。
CONTAINERS
Containers即容器,一般包含其他widgets。
DYNAMIC WIDGETS
Dynamic widgets,即动态部件,这些部件可以直接被用户操作,如下图所示。
STATIC WIDGETS
Static Widgets,即静态部件,用户无法对它们进行编辑。
OTHER WIDGETS
Other Widgets,即其他部件,包括工具栏、状态栏以及菜单栏。
继承
wxPython中部件之间存在继承的关系,对于面向对象编程来说,继承是非常重要的一部分。widgets构建出层级关系,widgets可以从其他widgets继承功能特性。已存在的类叫做基类、父类或祖先,继承的类叫做派生类、子类或者后代。这些术语借鉴自生物学概念。
比如我们在应用中使用了一个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简介。你无须完全看懂以上,相关内容我们会在后续章节中详细介绍。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143497.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...