wxWidgets
wxWidgets(/wɪksˈwɪdʒɪts/,原名wxWindows[1])是一個開放原始碼且跨平台用來建立圖形用戶介面(GUI)的物件工具集(widget toolkit)程式庫。wxWidgets原創是由Julian Smart於1992年在愛丁堡大學首先開發。
開發者 | wxWidgets開發與貢獻社群 |
---|---|
目前版本 | 3.2.0(2022年7月7日 | )
原始碼庫 | |
作業系統 | 跨平台 |
類型 | 開發函式庫 |
特許條款 | wxWidgets函式庫特許條款 |
網站 | www.wxwidgets.org |
wxWidgets使採用其函式庫所開發的圖形介面軟件只需要對原始碼做少量更改(或者完全不用更改),就能在各種不同的作業平台上編譯並執行。目前可支援Windows、Apple Macintosh、Linux/Unix(轉譯成X11、GTK+、Motif等函式庫)、OpenVMS、以及OS/2。嵌入式的版本也正在開發中[2]。
函式庫本身使用C++語言開發,但也有其它不同程式語言的綁紮,例如:Python(wxPython)、Lua(wxlua)、Perl(wxPerl)、Ruby(wxRuby)、Smalltalk(wxSmalltalk)、Java(wx4j)、甚至是JavaScript(wxjs)等。
使用wxWidgets開發的軟件不需經過諸如虛擬機器的技術就能執行,雖然在不同平台可使用相近甚至相同的原始碼,但其最終編譯並產出的執行檔對所在的作業平台而言是原生的。
另外,wxWidgets不只可以用來建立GUI,它也內建了基於ODBC的資料庫函數、行程間通訊以及網絡socket函數等的支援。
wxWidgets的特許特許條款是經過開放原始碼促進會認證,其本質等同於GNU較寬鬆公共許可證(LGPL)。然而一個例外是wxWidgets特許允許修改者以自己的特許條款發佈。
使用wxWidgets開發的軟件
- Aegisub 開放原始碼的字幕製作工具
- Amaya網頁編輯工具
- aMule 基於eMule的跨平台P2P軟件。
- Audacity 跨平台且開放原始碼的聲音編輯器。
- BitTorrent點對點檔案分享peer-to-peer file sharing application
- FileZilla - 跨平台且開放原始碼的FTP軟件。
- Code::Blocks C/C++ IDE
- CodeLite C/C++ IDE
- ionCube PHP編碼器
- PTGui 相片拼接軟件
- RapidSVN Subversion用戶端
- TortoiseCVS CVS用戶端
- wxDownload Fast 下載管理員
- wxMaxima 電腦代數系統
- MadEdit 文字/十六進制編輯器
- FreeFileSync 檔案同步工具
- smartCOM 序列埠除錯工具,支援LINUX與WINDOWS
- HeeksCAD 三維CAD軟件
- wxMP3gain MP3gain的圖形介面前端程式
參見
外部連結
- 官方網站 (頁面存檔備份,存於互聯網檔案館)
- 官方教學檔案 (頁面存檔備份,存於互聯網檔案館)
- wxForum,非官方討論區
- wxSnippets,wxWidgets原始碼片段蒐集
- wxCode,wxWidgets擴充元件 (頁面存檔備份,存於互聯網檔案館)
- wyoGuide,跨平台教學指南 (頁面存檔備份,存於互聯網檔案館)
- wxWidgets中國愛好者郵寄清單(wxChinese) (頁面存檔備份,存於互聯網檔案館)
其它程式語言支援
- wxBasic (頁面存檔備份,存於互聯網檔案館)
- wxCaml
- wxCL (頁面存檔備份,存於互聯網檔案館)
- wxD
- wxEiffel (頁面存檔備份,存於互聯網檔案館)
- wxErlang
- wxHaskell (頁面存檔備份,存於互聯網檔案館)
- wx4j(wxWidgets for Java) (頁面存檔備份,存於互聯網檔案館)
- wxJavaScript (頁面存檔備份,存於互聯網檔案館)
- wx.NET
- wxLua
- wxPerl (頁面存檔備份,存於互聯網檔案館)
- wxPython (頁面存檔備份,存於互聯網檔案館)
- wxRuby
- wxSqueak
整合開發環境(IDE)與快速開發工具(RAD tools)
- Boa Constructor (頁面存檔備份,存於互聯網檔案館),使用wxPython的GUI開發環境。
- wxWidgets RAD工具比較 (頁面存檔備份,存於互聯網檔案館)
- wxDesigner (頁面存檔備份,存於互聯網檔案館),對話盒編輯器、RAD工具。
- DialogBlocks (頁面存檔備份,存於互聯網檔案館),產生C++ 程式碼與XRC資源檔的對話盒編輯器。
- wxGlade (頁面存檔備份,存於互聯網檔案館),使用wxWidgets的GUI設計工具。
- CodeBlocks (頁面存檔備份,存於互聯網檔案館),使用wxWidgets的IDE程式開發工具。
- wxDev-C++ (頁面存檔備份,存於互聯網檔案館),基於Dev-C++開發環境,並加入wxWidgets的GUI設計工具。
- wxFormBuilder (頁面存檔備份,存於互聯網檔案館),由C++ 寫成、開放原始碼的wxWidgets GUI設計工具。
- wxVS2008Integration[永久失效連結],Visual Studio .NET 2008的wxWidgets專案與類別精靈。
- PythonCard (頁面存檔備份,存於互聯網檔案館),跨平台GUI建立工具。
參考文獻
- ^ Smart, Julian; Robin Dunn. Name change. Sourceforge.net. August 2004 [2007-04-23]. (原始內容存檔於2013-07-02).
- ^ wxEmbedded: wxWidgets for embedded applications. Sourceforge.net. [2007-04-23]. (原始內容存檔於2011-05-19).
- Cross-Platform GUI Programming with wxWidgets (頁面存檔備份,存於互聯網檔案館) - 第一本關於wxWidgets的書籍。
- Cross-Platform GUI Programming with wxWidgets pdf (頁面存檔備份,存於互聯網檔案館) - 電子書版本
- wxTutorial, comprehensive guide to wxWidgets (頁面存檔備份,存於互聯網檔案館) - 教學檔案。
- Drawing and Printing in C++ with wxWidgets (頁面存檔備份,存於互聯網檔案館) - 關於wxWidgets繪圖功能的教學。
- wxWidgets-related articles and tutorials (頁面存檔備份,存於互聯網檔案館) - 教學檔案。
- Introduction to wxWidgets - 給初學者的wxWidgets跨平台(Windows/Linux)開發教學。
- wx-sdl (頁面存檔備份,存於互聯網檔案館) - wxWidgets與SDL整合教學。
- The sbVB wxWidgets course - 教學檔案。