wxPython

Posted by Taolee on October 15, 2015

简要介绍


wxPython是一个Python的包,主要用来进行图形用户界面的开发。 开发者通过继承里面的类,使用类的函数等来进行一些比如窗体的创造,事件处理等功能,完成一个完善的App。

wxPython是Python语言的一套优秀的GUI图形库,允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。

wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。 就如同Python和wxWidgets一样,wxPython也是一款开源软件,并且具有非常优秀的跨平台能力,能够支持运行在32位windows、绝大多数的Unix或类Unix系统、Macintosh OS X下。

wxPython是Python编程语言的一个GUI工具箱。他使得Python程序员能够轻松的创建具有健壮、功能强大的图形用户界面的程序。 它是Python语言对流行的wxWidgets跨平台GUI工具库的绑定。而wxWidgets是用C++语言写成的。wxPython是跨平台的。 这意味着同一个程序可以不经修改地在多种平台上运行。现今支持的平台有:32位微软Windows操作系统、大多数Unix或类Unix系统、苹果Mac OS X。 由于使用Python作为编程语言,wxPython编写简单、易于理解。

历史


wxPython由最初Robin Dunn开发。第一个“现代”版本在1998年发布。

开发步骤


基本的wxPython程序说明了开发任一wxPython程序所必须的五个基本步骤:

  1. 导入必须的wxPython包
  2. 子类化wxPython应用程序类
  3. 定义一个应用程序的初始化方法
  4. 创建一个应用程序类的实例
  5. 进入这个应用程序的主事件循环

对于初学者或者对程序结构要求不多的用户来说,使用Boa Constructor这样的基于wxPython的开发平台,可以轻而易举的开发出优秀的wxPython程序。

简单示例



import wx
class App(wx.App):
    def OnInit(self):
        frame=wx.Frame(parent=None,title='MyFirstWxPythonApplication')
        frame.Show()
        return True
app=App()
app.MainLoop()

wxPython的主要类


wxAcceleratorEntry
wxAcceleratorTable
wxActivateEvent
wxBitmap
wxBitmapButton
wxBitmapDataObject
wxBMPHandler
wxBoxSizer
wxBrush
wxBusyInfo
wxBusyCursor
wxButton
wxCalculateLayoutEvent
wxCalendarCtrl
wxCaret
wxCheckBox
wxCheckListBox
wxChoice
wxClientDC
wxClipboard
wxCloseEvent
wxColourData
wxColourDialog
wxColour
wxComboBox
wxCommandEvent
wxConfigBase
wxControl
wxCursor
wxCustomDataObject
wxDataFormat
wxDataObject
wxDataObjectComposite
wxDataObjectSimple
wxDateTime
wxDateSpan
wxDC
wxDialog
wxDirDialog
wxDragImage
wxDropFilesEvent
wxDropSource
wxDropTarget
wxEraseEvent
wxEvent
wxEvtHandler
wxFileConfig
wxFileDataObject
wxFileDialog
wxFileDropTarget
wxFileSystem
wxFileSystemHandler
wxFocusEvent
wxFontData
wxFontDialog
wxFont
wxFrame
wxFSFile
wxGauge
wxGIFHandler
wxGLCanvas
wxHtmlCell
wxHtmlContainerCell
wxHtmlDCRenderer
wxHtmlEasyPrinting
wxHtmlParser
wxHtmlTagHandler
wxHtmlTag
wxHtmlWinParser
wxHtmlPrintout
wxHtmlWinTagHandler
wxHtmlWindow
wxIconizeEvent
wxIcon
wxIdleEvent
wxImage
wxImageHandler
wxImageList
wxIndividualLayoutConstraint
wxInitDialogEvent
wxInputStream
wxInternetFSHandler
wxJoystickEvent
wxJPEGHandler
wxKeyEvent
wxLayoutAlgorithm
wxLayoutConstraints
wxListBox
wxListCtrl
wxListEvent
wxListItem
wxMask
wxMaximizeEvent
wxMDIChildFrame
wxMDIClientWindow
wxMDIParentFrame
wxMemoryDC
wxMemoryFSHandler
wxMenuBar
wxMenuEvent
wxMenuItem
wxMenu
wxMessageDialog
wxMetafileDC
wxMiniFrame
wxMouseEvent
wxMoveEvent
wxNotebookEvent
wxNotebook
wxPageSetupDialogData
wxPageSetupDialog
wxPaintDC
wxPaintEvent
wxPalette
wxPanel
wxPen
wxPNGHandler
wxPoint
wxPostScriptDC
wxPreviewFrame
wxPrintData
wxPrintDialogData
wxPrintDialog
wxPrinter
wxPrintPreview
wxPrinterDC
wxPrintout
wxProcess
wxQueryLayoutInfoEvent
wxRadioBox
wxRadioButton
wxRealPoint
wxRect
wxRegionIterator
wxRegion
wxSashEvent
wxSashLayoutWindow
wxSashWindow
wxScreenDC
wxScrollBar
wxScrollEvent
wxScrolledWindow
wxScrollWinEvent
wxShowEvent
wxSingleChoiceDialog
wxSizeEvent
wxSize
wxSizer
wxSizerItem
wxSlider
wxSpinButton
wxSpinEvent
wxSplitterWindow
wxStaticBitmap
wxStaticBox
wxStaticBoxSizer
wxStaticLine
wxStaticText
wxStatusBar
wxSysColourChangedEvent
wxTaskBarIcon
wxTextCtrl
wxTextDataObject
wxTextDropTarget
wxTextEntryDialog
wxTimer
wxTimerEvent
wxTimeSpan
wxTipProvider
wxToolBarTool
wxToolBar
wxToolTip
wxTreeCtrl
wxTreeEvent
wxTreeItemData
wxTreeItemId
wxUpdateUIEvent
wxValidator
wxWindowDC
wxWindow
wxZipFSHandler

参考


百度百科
开源中国wxPython