wxpython使用简介_wxPython 教程(一) 简介[通俗易懂]

wxpython使用简介_wxPython 教程(一) 简介[通俗易懂]应用(application)是用来执行特定任务或一组任务的电脑程序。网页浏览器、媒体播放器、文字处理程序都是典型的应用样例。不同应用可以划分至四种不同的应用领域:在线商店应用、wiki、微博等都是受欢迎的网页(web)应用,我们通过网页浏览器可以访问它们。桌面(Desktop)应用的例子则包括Maya、Opera、OpenOffice或Winamp。企业级(Enterprise)应用则指复…

大家好,又见面了,我是你们的朋友全栈君。

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

1ac6a3ba59ff162ec7a5408bf86d0223.png

在线商店应用、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

7d1feedbed0426d463e85410ec633220.png

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个基本模块:

41307532a3e71b729a2f6b1711012e5d.png

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提供最基本的功能,被称作祖先类,一般不直接使用。

3274812cd110672d5dcd657f36575f9f.png

TOP LEVEL WIDGETS

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

4fee2a7f5065f46ec814d0d57e164923.png

CONTAINERS

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

a9d7df4f72f539ecfb881693db708b24.png

DYNAMIC WIDGETS

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

f0e8f35b0583acc039e5e03468c70f2d.png

STATIC WIDGETS

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

baf0abee2654e848556263afae3f180f.png

OTHER WIDGETS

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

829ebfb1761d5e96d89b5ce92a862e5c.png

继承

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

ef34a23ada074ac0f0f232455ee86775.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简介。你无须完全看懂以上,相关内容我们会在后续章节中详细介绍。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143497.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • PHP面试题:HTTP中POST、GET、PUT、DELETE方式的区别

    PHP面试题:HTTP中POST、GET、PUT、DELETE方式的区别

    2021年10月12日
  • SSM框架实现用户查询、注册、登录——IDEA整合Spring、Spring MVC、Mybatis 框架「建议收藏」

    SSM框架实现用户查询、注册、登录——IDEA整合Spring、Spring MVC、Mybatis 框架「建议收藏」目录零、前言一、说明1、整合说明2、最终目标3、数据库准备二、搭建整合环境1、创建maven工程2、导入依赖坐标3、创建java和resources文件夹4、创建类和接口文件【1】创建存放javabean类文件:cn.star.domain.Users【2】创建数据访问层UsersDao接口:cn.star.dao.UsersDao…

  • java全套视频教程资料

    java全套视频教程资料学完以上内容以后,你应该对Java有一个基本的了解了,你可以用Java语言写出一些简单的程序,并且你用的是简单的编辑器,比如记事本。这个时候,不要急于进入下一部分,留下几天好好写一些程序,尽可能熟悉这

  • 什么是多线程,什么是高并发?[通俗易懂]

    什么是多线程,什么是高并发?[通俗易懂]高并发和多线程”总是被一起提起,给人感觉两者好像相等,实则 高并发≠多线程多线程是完成任务的一种方法,高并发是系统运行的一种状态,通过多线程有助于系统承受高并发状态的实现。高并发是一

  • CBOW全称_skip的形式

    CBOW全称_skip的形式skip-gram结构是利用中间词预测邻近词cbow模型是利用上下文词预测中间词一、CBOW1、CBOW之所以叫连续词袋模型,是因为在每个窗口内它也不考虑词序信息,因为它是直接把上下文的词向量相加了,自然就损失了词序信息。CBOW抛弃了词序信息,指的就是在每个窗口内部上下文直接相加而没有考虑词序。2、CBOW过程简单介绍如下(实际算法会用到哈夫曼编码等降维技巧,这里仅以理解为目的简介基本原理):输入为C个V维的vector。其中C为上下文窗口的大小,V为原始编码空间的规模。例如,

  • oracle查看密码修改记录_oracle查询数据库用户密码到期时间

    oracle查看密码修改记录_oracle查询数据库用户密码到期时间SQL>showuserUSERis”SYS”SQL>createusert1identifiedbyt1;createusert1identifiedbyt1*ERRORatline1:ORA-01920:username’T1’conflictswithanotheruserorrolenameSQL>dropuse…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号