wxWidgets(,原名wxWindows)是一個開放原始碼且跨平台用來建立圖形使用者介面(GUI)的物件工具集(widget toolkit)程式庫。wxWidgets原創是由Julian Smart於1992年在愛丁堡大學首先開發。
wxWidgets使採用其函式庫所開發的圖形介面軟體只需要對原始碼做少量更改(或者完全不用更改),就能在各種不同的作業平台上編譯並執行。目前可支援Windows、Apple Macintosh、Linux/Unix(轉譯成X11、GTK+、Motif等函式庫)、OpenVMS、以及OS/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軟體。
- 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的图形界面前端程序
參見
- Microsoft Foundation Class Library
- Qt
- GTK+
外部連結
*[http://wxwidgets.org/ 官方網站]
*[http://wxwidgets.org/docs/tutorials.htm 官方教學文件]
*[https://web.archive.org/web/20170116151401/http://wxforum.shadonet.com/ wxForum,非官方討論區]
*[https://web.archive.org/web/20160304233541/http://wxsnippets.com/ wxSnippets,wxWidgets原始碼片段蒐集]
*[http://wxcode.sourceforge.net wxCode,wxWidgets擴充元件]
*[http://wyoguide.sourceforge.net wyoGuide,跨平台教學指南]
*[https://groups.google.com/group/wxchinese wxWidgets中国爱好者邮件列表(wxChinese)]
其它程式語言支援
*[http://wxbasic.sourceforge.net/ wxBasic]
*[https://web.archive.org/web/20070814040120/http://plus.kaist.ac.kr/~shoh/ocaml/wxcaml/doc/ wxCaml]
*[http://www.wxcl-project.org/ wxCL]
*[https://web.archive.org/web/20100820021606/http://wxd.sourceforge.net/ wxD]
*[http://elj.sourceforge.net/projects/gui/ewxw/ wxEiffel]
*[https://web.archive.org/web/20070812010111/http://wxerlang.sourceforge.net/ wxErlang]
*[http://wxhaskell.sourceforge.net/ wxHaskell]
*[http://www.wx4j.org/ wx4j(wxWidgets for Java)]
*[http://www.wxjavascript.net wxJavaScript]
*[https://web.archive.org/web/20100825110129/http://wxnet.sourceforge.net/ wx.NET]
*[https://web.archive.org/web/20100817175822/http://wxlua.sourceforge.net/ wxLua]
*[http://wxperl.sourceforge.net/ wxPerl]
*[http://www.wxpython.org/ wxPython]
*[http://webarchive.loc.gov/all/20090306104451/http%3A//wxruby.rubyforge.org/ wxRuby]
*[https://web.archive.org/web/20100913031514/http://www.wxsqueak.org/ wxSqueak]
整合開發環境(IDE)與快速開發工具(RAD tools)
*[http://sourceforge.net/projects/boa-constructor/ Boa Constructor] ,使用wxPython的GUI開發環境。
*[http://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features wxWidgets RAD工具比較]
*[http://www.roebling.de/ wxDesigner] ,對話盒編輯器、RAD工具。
*[http://www.anthemion.co.uk/dialogblocks/ DialogBlocks] ,產生C++ 程式碼與XRC資源檔的對話盒編輯器。
*[http://wxglade.sourceforge.net/ wxGlade] ,使用wxWidgets的GUI設計工具。
*[http://www.codeblocks.org/ CodeBlocks] ,使用wxWidgets的IDE程式開發工具。
*[http://wxdsgn.sourceforge.net/ wxDev-C++] ,基於Dev-C++開發環境,並加入wxWidgets的GUI設計工具。
*[http://www.wxformbuilder.org wxFormBuilder] ,由C++ 寫成、開放原始碼的wxWidgets GUI設計工具。
*[http://priyank.co.in/wxVS2008Integration.php wxVS2008Integration],Visual Studio .NET 2008的wxWidgets專案與類別精靈。
*[http://sourceforge.net/project/showfiles.php?group_id=19015 PythonCard] ,跨平台GUI建立工具。
參考文獻
- [http://wxwidgets.org/book/index.htm Cross-Platform GUI Programming with wxWidgets] - 第一本關於wxWidgets的書籍。
- [http://www.phptr.com/content/images/0131473816/downloads/0131473816_book.pdf Cross-Platform GUI Programming with wxWidgets pdf] - 電子書版本
- [http://ghostdev85.googlepages.com/intro.html wxTutorial, comprehensive guide to wxWidgets] - 教學文件。
- [http://www.informit.com/articles/article.asp?p=405047&rl=1 Drawing and Printing in C++ with wxWidgets] - 關於wxWidgets繪圖功能的教學。
- [http://wxwidgets.info wxWidgets-related articles and tutorials] - 教學文件。
- [https://web.archive.org/web/20070928164931/http://priyank.co.in/articles.php?cat_id=1 Introduction to wxWidgets] - 給初學者的wxWidgets跨平台(Windows/Linux)開發教學。
- [http://code.technoplaza.net/wx-sdl/ wx-sdl] - wxWidgets與SDL整合教學。
*[https://web.archive.org/web/20071007065226/http://www.sbvb.com.br/cgi-bin/index.cgi?p=3 The sbVB wxWidgets course] - 教學文件。
评论 (0)