wxpython簡介
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類。
相關文章
- wxPython使用指導Python
- wxPython 4.2.0 釋出Python
- Python wxPython基本教程Python
- mac中安裝wxpythonMacPython
- 簡介
- Python 3安裝wxPythonPython
- wxPython--學習筆記Python筆記
- Jira使用簡介 HP ALM使用簡介
- BookKeeper 介紹(1)--簡介
- Amphenol簡介
- Vagrant簡介
- PySimpleGUI 簡介GUI
- Protobuf簡介
- MyBatis 簡介MyBatis
- jango簡介Go
- cookie 簡介Cookie
- Session 簡介Session
- Cookie簡介Cookie
- Virgilio 簡介
- Django簡介Django
- ElasticSearch簡介Elasticsearch
- Javascript 簡介JavaScript
- Electron簡介
- Dubbo 簡介
- JavaScript簡介JavaScript
- CSS 簡介CSS
- 反射簡介反射
- JanusGraph -- 簡介
- CSS簡介CSS
- Bootstrap 簡介boot
- pwa簡介
- Apache簡介Apache
- JAVA簡介Java
- JUC簡介
- sass簡介
- NATS簡介
- Mybatis簡介MyBatis
- Zookeeper簡介