wxpython简介(python的wxpython)
suiw9 2025-03-14 20:32 17 浏览 0 评论
Python
Python是一种成功的脚本语言,它最初是由Guido van Rossum开发的。它于1991年首次发布。Python的灵感来自于ABC和Haskell编程语言。Python是一种高级的、通用的、多平台的、解释型的语言。有人更喜欢称它为动态语言。它很容易学习。Python是一种极简主义语言。它最明显的一个特点是它不使用分号也不使用括号。Python使用缩进代替。今天,Python由全球一大批志愿者维护。
对于创建图形用户界面,Python程序员可以在三个不错的选项中选择。PyGTK、wxPython 和 PyQt。
wxPython模块
wxPython是一个用于创建桌面GUI应用程序的跨平台工具箱。wxPython的主要作者是Robin Dunn。wxPython是wxWidgets的封装器,而wxWidgets是一个成熟的跨平台C++库,开发者可以通过wxPython在Windows、Mac和各种Unix系统上创建应用程序。wxPython由五个基本模块组成。
控件模块提供了图形应用程序中常见的小部件。例如一个按钮,一个工具栏,或者一个笔记本。Widget在Windows操作系统下被称为控件。Core模块由开发中使用的基本类组成。这些类包括Object类,它是所有类的母类,Sizer,用于widget布局,Events,基本的几何类如Point和Rectangle。图形设备接口(GDI)是一组用于绘制到widget上的类。这个模块包含了用于操作字体、颜色、笔刷、笔或图像的类。Misc模块包含各种其他类和模块功能。这些类用于记录,应用程序配置,系统设置,与显示器或操纵杆一起工作。窗口模块由各种窗口组成,这些窗口构成了一个应用程序,例如一个面板,一个对话框,一个框架,或一个滚动窗口。
wxPython API
wxPython API 是一组方法和对象。控件是GUI应用程序的基本构件。在Windows下,widget称为控件。我们可以大致将程序员分为两类:他们要么编写应用程序,要么编写库。在我们这里,wxPython是一个库,应用程序员用它来编写应用程序。从技术上讲,wxPython是在一个名为wxWidgets的C++ GUI API上的封装器。所以它不是一个本地 API,也就是说,它不是直接用 Python 编写的。
在 wxPython 中,我们有很多小控件。这些可以分为一些组。
基础控件
这些控件为派生控件提供了基本功能。它们被称为祖先。它们通常不被直接使用。
顶级控件
这些控件相互独立存在
容器
容器中包含其他控件
动态控件
这些控件可以由用户编辑。
静态控件
这些控件显示信息。它们不能被用户编辑。
其他控件
这些控件在应用程序中实现了状态栏、工具栏和按键栏。
继承
在wxPython中,控件之间有一种特殊的关系。这种关系是通过继承来发展的。继承是面向对象编程的一个重要部分。小控件形成了一个层次结构,小控件可以继承其他小控件的功能。现有的类被称为基类、父类或祖类。继承的控件我们称之为派生控件或者子控件。
假设我们在应用程序中使用一个按钮控件。按钮控件继承了四个不同的基类,最接近的类是wx.Control类。一个按钮控件是一种小窗口。所有出现在屏幕上的控件都是窗口,因此它们继承自wx.Window类。有一些对象是不可见的。例如 sizers, 设备上下文或 locale 对象。也有一些类是可见的,但它们不是窗口。例如,colour对象、caret对象或locale对象。并非所有的widgets都是控件。例如wx.Dialog不是控件的一种。控件是放置在其他称为容器的widgets上的widgets,。这就是为什么我们有一个单独的wx.Control基类。
每个窗口都可以对事件做出反应。按钮部件也是如此。通过点击按钮,我们启动了
wx.EVT_COMMAND_BUTTON_CLICKED事件。按钮小组件通过wx.Window类继承了wx.EvtHandler。每个对事件做出反应的widget都必须继承wx.EvtHandler类。最后,所有的对象都继承自wx.Object类。
相关推荐
- 谁说 Vim 不好用?送你一个五彩斑斓的编辑器!
-
相信大家在使用各种各样强大的IDE写代码时都会注意到,代码中各种类型的关键字会用独特的颜色标记出来,然后形成一套语法高亮规则。这样不仅美观,而且方便代码的阅读。而在上古神器Vim中,我们通常看...
- Python 基础教程 九之cron定时执行python脚本
-
前言在Linux或Unix系统中,你可以使用cron任务来定时执行Python脚本。cron是一个基于时间的作业调度器,允许你安排命令或脚本在系统上自动执行。...
- RK3588主板Ubuntu 22.04固件刷机后需要进行哪些操作?
-
RK3588主板Ubuntu22.04固件刷机完成后,您需要进行以下操作:1、验证固件版本:确认您刷入的Ubuntu22.04固件版本是否正确,并且系统正常运行。...
- Ubuntu16.04搭建VNC Server远程桌面服务器
-
1.前言本文主要讲解Ubuntu16.04怎么安装VNCServer远程桌面服务器。VNC全称为VirtualNetworkComputing(虚拟网络计算)是一种图形化桌面共享工具,允许...
- 开源&Docker:何必nextcloud,新晋神级私人云盘,在线office编辑
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry前言大家好,这里是可爱的Cherry。...
- Ubuntu系统,常用命令、IP配置等教程
-
Ubuntu系统常用命令与IP配置教程一、常用命令在Ubuntu系统中,掌握一些常用的命令对于日常操作非常重要,以下是常见的命令及其用法说明:1.ls—列出当前目录内容...
- Zed编辑器:Rust之力,Linux之翼,VS Code劲敌新篇章
-
Zed是一款支持多人协作...
- 如何在Ubuntu系统中进行系统级的代理设置
-
Ubuntu系统级代理设置步骤详解在Ubuntu系统中进行系统级的代理设置是一种常见的网络配置方式,尤其适用于需要通过代理访问互联网的场景。通过配置代理,你可以让系统中的所有应用程序(如浏览器、终端、...
- Linux Vim文本编辑器(linux用vi编辑文本)
-
在使用Linux操作系统的过程中,经常需要对文本文件进行操作,如新建、编辑等,常用的方法有以下几种:...
- 从零入门Linux(五)文本编辑器(linux好用的文本编辑器)
-
Linux系统提供了多种文本编辑器,每种编辑器都有其独特的功能和使用场景。以下按功能和复杂程度分类介绍:1.简单文本编辑器...
- 照片选择器,使用简单,几行代码就可以完成集成
-
照片选择器,使用简单,几行代码就可以完成集成来源:极客头条用于发表图片时候选择相册图片和拍照这样的需求,虽然网上也有很多类似的控件,写的挺不错的,但是深入使用就有些问题,还是自己写算了;网上的一些轮...
- 探索iOS 9适配(iphone适配)
-
CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投稿,或寻求《近匠》报道,请发送邮件至tang...
- “旅行者”回望30载 一点淡蓝“焕新颜”
-
据美国国家航空航天局(NASA)网站12日报道,为纪念著名的“暗淡蓝点”(PaleBlueDot)照片问世30周年,NASA重新制作了这张照片,使其“焕新颜”,NASA喷气推进实验室于近日发布了新...
- 「底层技术原理体系」深入探索Java服务器性能监控Metrics框架
-
承接上文承接上文中的【深度挖掘Java性能调优】「底层技术原理体系」深入探索Java服务器性能监控Metrics框架的实现原理分析(Counter篇),我们知道和了解了对应的Counter计数器的作用...
你 发表评论:
欢迎- 一周热门
-
-
Linux:Ubuntu22.04上安装python3.11,简单易上手
-
宝马阿布达比分公司推出独特M4升级套件,整套升级约在20万
-
MATLAB中图片保存的五种方法(一)(matlab中保存图片命令)
-
别再傻傻搞不清楚Workstation Player和Workstation Pro的区别了
-
Linux上使用tinyproxy快速搭建HTTP/HTTPS代理器
-
如何提取、修改、强刷A卡bios a卡刷bios工具
-
Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框
-
日本组合“岚”将于2020年12月31日停止团体活动
-
SpringCloud OpenFeign 使用 okhttp 发送 HTTP 请求与 HTTP/2 探索
-
tinymce 号称富文本编辑器世界第一,大家同意么?
-
- 最近发表
-
- 谁说 Vim 不好用?送你一个五彩斑斓的编辑器!
- Python 基础教程 九之cron定时执行python脚本
- RK3588主板Ubuntu 22.04固件刷机后需要进行哪些操作?
- Ubuntu16.04搭建VNC Server远程桌面服务器
- 开源&Docker:何必nextcloud,新晋神级私人云盘,在线office编辑
- Ubuntu系统,常用命令、IP配置等教程
- Ubuntu 24.10安装体验(ubuntu 20.04.1安装教程)
- Zed编辑器:Rust之力,Linux之翼,VS Code劲敌新篇章
- 如何在Ubuntu系统中进行系统级的代理设置
- Linux Vim文本编辑器(linux用vi编辑文本)
- 标签列表
-
- dialog.js (57)
- importnew (44)
- windows93网页版 (44)
- yii2框架的优缺点 (45)
- tinyeditor (45)
- qt5.5 (60)
- windowsserver2016镜像下载 (52)
- okhttputils (51)
- android-gif-drawable (53)
- 时间轴插件 (56)
- docker systemd (65)
- slider.js (47)
- android webview缓存 (46)
- pagination.js (59)
- loadjs (62)
- openssl1.0.2 (48)
- velocity模板引擎 (48)
- pcre library (47)
- zabbix微信报警脚本 (63)
- jnetpcap (49)
- pdfrenderer (43)
- fastutil (48)
- uinavigationcontroller (53)
- bitbucket.org (44)
- python websocket-client (47)