WxPython简介

简介

wxPython是一个 Python 包装器wxWidgets(用 C++ 编写),一个流行的跨平台 GUI 工具包。wxPython 由 Robin Dunn 和 Harri Pasanen 共同开发,被实现为 Python 扩展模块。
就像 wxWidgets 一样,wxPython 也是一个免费软件。可以从官网http://wxpython.org下载。许多操作系统平台的二进制文件和源代码可在此站点上下载。
wxPython API 中的主要模块包括一个核心模块。它包括wxObject类,它是 API 中所有类的基础。控制模块包含 GUI 应用程序开发中使用的所有小部件。例如,wx.Button、wx.StaticText(类似于标签)、wx.TextCtrl(可编辑文本控件)等。
wxPython API 具有 GDI(图形设备接口)模块。它是一组用于在小部件上绘图的类。字体、颜色、画笔等类是其中的一部分。所有容器窗口类都在 Windows 模块中定义。
wxPython 的官方网站还托管了 Project Phoenix——一个用于 Python 3.* 的 wxPython 的新实现。它专注于提高速度、可维护性和可扩展性。该项目于 2012 年开始。

wxPython 的核心优势可以概括为“原生、跨平台、控件多、上手快”

  • 原生观感(Native Look & Feel)
    • 直接调用操作系统原生控件,在 Windows、macOS、Linux 上自动呈现本地风格,用户没有“违和感”。
  • 一套代码,跨平台运行
    • 同一个 .py 文件无需修改即可在三大桌面系统发布,显著降低维护成本。
  • 控件丰富、功能完备
    • 提供按钮、列表、树形、HTML 渲染器等 100+ 预制控件,并支持自定义绘图和复杂布局(Sizers),足以覆盖绝大多数桌面应用需求。
  • 成熟的稳定性与文档社区
    • 基于 1992 年诞生的 wxWidgets,经过大量商业项目验证;官方文档齐全,社区活跃,遇到问题容易找到答案。
  • 学习曲线平缓
    • API 直观,Python 开发者无需深入 C++ 细节即可快速上手;对于中小型项目和原型开发尤其高效。

一句话总结:如果你想用 Python 快速做出“长得像原生”的跨平台桌面应用,wxPython 是省心又稳当的选择。

初体验

下面是一个例子,它创建了一个有一个文本框的窗口用来显示鼠标的位置:

#!/bin/env python
import wx
class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, "My Frame", size=(300, 300))
        panel = wx.Panel(self, -1)
        panel.Bind(wx.EVT_MOTION,  self.OnMove)
        wx.StaticText(panel, -1, "Pos:", pos=(10, 12))
        self.posCtrl = wx.TextCtrl(panel, -1, "", pos=(40, 10))
    def OnMove(self, event):
        pos = event.GetPosition()
        self.posCtrl.SetValue("%s, %s" % (pos.x, pos.y))
if __name__ == "__main__":
    app = wx.PySimpleApp()
    frame = MyFrame()
    frame.Show(True)
    app.MainLoop()

当你粘贴这段代码然后运行之后,你就会看到这样的效果: 


他会出现一个界面,并且当你的鼠标移动的时候,他会实时的刷新你鼠标的坐标。在上面的代码中我们可以看到,wxPython的代码还是很简洁的,并且也很容易上手,代码量也不是很多,对新手是很友好的。那么在官方文档上是这样来介绍他的:

漂亮的界面是一个GUI程序必不可少的一部分,wxPython可以做到这一点,加之Python强大的功能和简洁的语法,使用得它在Python的gui中成为一种主流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值