WxWidgets
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
wxWidgets는 1992년 줄리안 스마트가 시작한 C++ 기반의 크로스 플랫폼 GUI 라이브러리이다. 다양한 프로그래밍 언어에 대한 바인딩을 제공하며, 윈도우, 리눅스/유닉스, macOS 등 여러 운영 체제를 지원한다. GNU 약소 일반 공중 사용 허가서와 유사한 라이선스로 배포되며, 네이티브 위젯을 사용하여 각 플랫폼에 맞는 인터페이스를 제공한다. GUI 개발 외에도 프로세스 간 통신, 소켓 네트워킹 기능 등을 포함하며, Code::Blocks, wxFormBuilder 등의 RAD 도구를 사용할 수 있다. 0 A.D., Audacity, FileZilla 등 다양한 애플리케이션에서 사용되고 있다.
더 읽어볼만한 페이지
- 1992년 소프트웨어 - 윈도우 3.1x
윈도우 3.1x는 마이크로소프트가 개발한 운영 체제 시리즈로, 윈도우 3.1을 시작으로 다양한 버전이 출시되었으며, 1,000만 개 이상 판매되었고, 간체자 지원, 업무용 버전, 다양한 추가 기능, 인터넷 익스플로러 지원 등의 특징을 가진다. - 1992년 소프트웨어 - 마이크로소프트 액세스
마이크로소프트 액세스는 1992년 출시된 데이터베이스 관리 시스템으로, 테이블, 쿼리, 폼 등을 생성하고 VBA를 통해 솔루션을 개발하며, 윈도우에서 사용 가능하고 다양한 데이터 형식과 통합된다. - 위젯 툴킷 - Tk (소프트웨어)
Tk는 Tcl 스크립팅 언어의 크로스 플랫폼 GUI 툴킷으로, 다양한 플랫폼 이식과 여러 프로그래밍 언어 바인딩을 지원하며 사용자 정의 가능한 위젯들을 제공한다. - 위젯 툴킷 - 윈도우 API
윈도우 API는 마이크로소프트 윈도우 운영 체제에서 응용 프로그램이 시스템 기능에 접근하도록 돕는 인터페이스 집합이며, 다양한 버전으로 발전해 왔고, 현재 Win32가 널리 사용되며, 유연성을 제공하지만 복잡하다는 단점을 보완하기 위해 다양한 래퍼 라이브러리가 개발되었다. - C++ 라이브러리 - D-Bus
D-Bus는 2002년에 시작된 프로세스 간 통신 시스템으로, 시스템 버스와 세션 버스를 통해 정보 공유, 모듈성, 권한 격리를 제공하며, 일대일 요청-응답 및 발행/구독 통신 방식을 지원한다. - C++ 라이브러리 - Botan
Botan은 다양한 암호화 알고리즘을 지원하는 암호화 라이브러리이며, RSA, ElGamal, AES, SHA-256 등 널리 사용되는 알고리즘을 포함하여 공개키 암호화, 공개키 서명, 키 교환, 블록 사이퍼, 스트림 사이퍼, 해시 함수 등을 제공한다.
| WxWidgets - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 기본 정보 | |
![]() | |
| 장르 | 개발 라이브러리 |
| 라이선스 | wxWidgets 라이선스 |
| 웹사이트 | www.wxwidgets.org |
| 개발 | |
| 저자 | 줄리앙 스마트 |
| 개발자 | 다양한 개발자 및 기여자 |
| 프로그래밍 언어 | C++ |
| 운영 체제 | 크로스 플랫폼 |
| 릴리스 정보 | |
| 최신 안정화 버전 | 3.2.4 |
| 이전 안정화 버전 | 2.9.5 |
2. 역사
wxWidgets(원래 이름은 wxWindows)는 1992년 에든버러 대학교의 Julian Smart|줄리안 스마트영어가 개발을 시작했다.[35][1][27] wxWindows라는 이름에서 'w'는 Windows를, 'x'는 X Window System을 의미했다.[9] 줄리안 스마트는 1986년에 세인트앤드루스 대학교에서 계산과학 우등 학위를 받았으며, 현재도 핵심 개발자로 활동하고 있다.[36][37][2][28][29]
2004년 2월 20일, wxWindows 개발팀은 프로젝트 이름을 wxWidgets로 변경한다고 발표했다. 이는 마이크로소프트가 줄리안 스마트에게 영국 내 'Windows' 상표권을 존중해 달라고 요청했기 때문이다.[38][10][30]
주요 버전 출시일은 다음과 같다.
wxWidgets는 자체 제작된 'wxWindows 라이선스' 하에 배포된다.[13] 이 라이선스는 GNU 약소 일반 공중 사용 허가서(LGPL)와 유사하지만,[39][13] wxWidgets를 사용하여 만든 이진 파일 형태의 파생 저작물을 소스 코드를 공개하지 않고도 사용자의 자체 조건으로 배포할 수 있다는 예외 조항이 있다.[39][13]
wxWidgets 라이브러리는 기본적으로 C++로 작성되었으며, 다양한 프로그래밍 언어에서 사용할 수 있도록 언어 바인딩을 제공한다.
wxWidgets는 다양한 운영체제 플랫폼과 컴파일러 환경을 공식적으로 지원한다. 자세한 지원 범위는 아래 하위 섹션에서 확인할 수 있다.
wxWidgets는 2006년부터 구글 코드 서머에 참여해왔다.[11][12]
3. 라이선스
이 소프트웨어 라이선스는 자유 소프트웨어 라이선스로,[39] 자유 소프트웨어 재단(FSF)과[14] 오픈 소스 이니셔티브(OSI) 모두의 승인을 받았다.[15] 따라서 wxWidgets는 자유 소프트웨어가 된다.[39][14]
4. 기능
언어 바인딩/프로젝트 비고 파이썬 wxPython 얼랭 https://web.archive.org/web/20100819232924/http://sourceforge.net/apps/mediawiki/wxerlang/index.php?title=Main_Page wxErlang (웹 아카이브) 하스켈 wxHaskell Tcl https://web.archive.org/web/20080211101523/http://membres.lycos.fr/awaken/ wxTCL (웹 아카이브) 루아 https://web.archive.org/web/20100817175822/http://wxlua.sourceforge.net/ wxLua (웹 아카이브) 펄 wxPerl 루비 http://webarchive.loc.gov/all/20090306104458/http://wxruby.rubyforge.org/wiki/wiki.pl wxRuby (웹 아카이브) 스몰토크 https://web.archive.org/web/20100913031514/http://www.wxsqueak.org/ wxSqueak (웹 아카이브) 커먼 리스프 https://web.archive.org/web/20090430131620/http://www.wxcl-project.org/language/en/ wxCL (웹 아카이브) 베이직 http://wxbasic.sourceforge.net/ wxBasic C http://wxc.sourceforge.net/ wxC D https://web.archive.org/web/20100820021606/http://wxd.sourceforge.net/ wxD (웹 아카이브) 유포리아 http://wxeuphoria.sourceforge.net/ wxEuphoria 닷넷 프레임워크 https://web.archive.org/web/20100825110129/http://wxnet.sourceforge.net/ wx.NET (웹 아카이브) 자바 http://wx4j.sourceforge.net/ wx4j 자바스크립트 https://web.archive.org/web/20100516142751/http://www.wxjavascript.net/ wxJavaScript / http://gluescript.sourceforge.net/ GLUEScript (웹 아카이브) 라켓 wxWindows (버전 1) 기반 1995년 비호환 분기, 언어 런타임에 통합
wxWidgets는 네이티브 위젯(native widget)을 사용하는 툴킷으로 알려져 있다. 이는 그래픽을 직접 그려 위젯 모양을 흉내 내는 대신, 각 운영체제(플랫폼)가 제공하는 네이티브 위젯 위에 얇은 추상화 계층(thin abstraction)을 제공하는 방식이다. 대상 플랫폼의 네이티브 위젯을 활용함으로써, 스윙(자바)처럼 모든 것을 직접 그리는 툴킷보다 더 자연스러운 인터페이스를 제공할 뿐만 아니라 성능 향상 및 다른 이점도 기대할 수 있다.[40]
이 도구킷은 단순히 GUI 개발에만 국한되지 않으며, 프로세스 간 통신(IPC) 계층, 소켓 네트워킹 기능 등도 내장하고 있다.
wxWidgets는 다양한 운영체제를 지원한다.
임베디드 시스템용 버전도 개발 중이다.[6]
wxWidgets는 여러 산업 분야에서 활용되고 있다. 대표적으로 제록스, AMD, 록히드 마틴, NASA(미국 항공우주국), 해군분석센터(Center for Naval Analyses) 등에서 사용된다. 또한 다트머스 의과대학, 국립 인간 유전체 연구소, 국립 생명공학 정보센터와 같은 공공 부문 및 교육 기관에서도 사용되고 있다.[7] 이 외에도 수많은 오픈 소스 프로젝트[8]와 개인 개발자들이 wxWidgets를 사용하고 있다.
5. 공식 지원
5. 1. 지원 플랫폼
wxWidgets는 다양한 운영체제와 플랫폼을 지원하는 크로스 플랫폼 GUI 라이브러리이다.[6] 주요 지원 플랫폼은 다음과 같다.[41][16][17]
| 플랫폼 | 세부 정보 |
|---|---|
| Windows | wxMSW (XP 이후 64비트, 3.11 for Workgroups(Win32s) 이후 32비트 지원) |
| 리눅스/유닉스 | wxGTK, wxX11, wxMotif |
| macOS | wxMac (Carbon API, 10.3 이상), wxOSX/Cocoa (Cocoa API, 10.7 이상 32/64비트) |
| OS/2 | wxOS2, wxPM (GTK 또는 Motif로도 컴파일 가능) |
| iOS | 코코아 터치[6] |
| OpenVMS | 지원[6] |
| AmigaOS | 지원[6] (외부 포팅 진행 중[42][18]) |
| 임베디드 시스템 | wxEmbedded[34][6] (개발 중[6]) |
5. 1. 1. 외부 포팅
5. 2. 지원 컴파일러
wxWidgets는 다음 컴파일러에서 제대로 작동하는 것으로 공식적으로 확인되었다.[19][20]| 툴킷 | 컴파일러 | 버전 |
|---|---|---|
| wxMSW | 마이크로소프트 비주얼 스튜디오 – 비주얼 C++ | 5.0+ |
| 볼랜드 C++ (3.1.5에서 지원 중단) | 5.5+ | |
| C++빌더 | 2006+ | |
| 왓콤 C++, 오픈 왓콤 | 10.6+ | |
| 코드워리어 | 7+ | |
| Cygwin | 1.5+ | |
| MinGW | 2.0+ | |
| 디지털 마스 C/C++ 컴파일러 | 8.40+ | |
| wxGTK | g++ | 2.95+ |
| Clang++ | 3.3+ | |
| 인텔 C++ 컴파일러 | 9.1+ | |
| 선 스튜디오 C/C++ | 5.9 | |
| HP aC++ | 3.8 | |
| IBM XL C/C++ | 8.0 |
6. 프로그래밍 언어 바인딩

wxWidgets 라이브러리는 C++로 구현되었으며, 널리 사용되는 많은 프로그래밍 언어에 대해 언어 바인딩을 제공한다.[21] 지원하는 프로그래밍 언어로는 파이썬 (wxPython), 얼랭 ([https://web.archive.org/web/20100819232924/http://sourceforge.net/apps/mediawiki/wxerlang/index.php?title=Main_Page wxErlang]), 하스켈 (wxHaskell), Tcl ([https://web.archive.org/web/20080211101523/http://membres.lycos.fr/awaken/ wxTCL]), 루아 ([https://web.archive.org/web/20100817175822/http://wxlua.sourceforge.net/ wxLua]), 펄 (wxPerl), 루비 ([http://webarchive.loc.gov/all/20090306104458/http://wxruby.rubyforge.org/wiki/wiki.pl wxRuby]), 스몰토크 ([https://web.archive.org/web/20100913031514/http://www.wxsqueak.org/ wxSqueak]), 커먼 리스프 ([https://web.archive.org/web/20090430131620/http://www.wxcl-project.org/language/en/ wxCL]), 베이직 ([http://wxbasic.sourceforge.net/ wxBasic]), C ([http://wxc.sourceforge.net/ wxC]), D ([https://web.archive.org/web/20100820021606/http://wxd.sourceforge.net/ wxD]), 유포리아 ([http://wxeuphoria.sourceforge.net/ wxEuphoria]), 닷넷 프레임워크 ([https://web.archive.org/web/20100825110129/http://wxnet.sourceforge.net/ wx.NET]), 자바 ([http://wx4j.sourceforge.net/ wx4j]), 자바스크립트 ([http://www.wxjavascript.net/ wxJavaScript] / [http://gluescript.sourceforge.net/ GLUEScript]) 등이 있다. 1995년에 만든 wxWindows (버전 1)의 비호환 분기를 이용하는 라켓도 있으며, 이 툴킷은 단순히 라이브러리 바인딩을 제공하는 다른 언어와는 달리 언어 런타임 (쓰레기 수집, 자원 관리)에 통합되어 있다.
wxWidgets는 네이티브 모드 툴킷으로 잘 알려져 있는데, 이는 원시 그래픽을 이용하여 위젯 표현을 에뮬레이션하는 대신 플랫폼의 네이티브 위젯에 대한 얇은 추상화(thin abstraction)를 제공하기 때문이다. 대상 플랫폼에 이러한 네이티브 위젯을 이용하면 스윙 (자바의 경우)과 같은 도구킷보다 더 네이티브하게 보이는 인터페이스뿐 아니라 성능 향상과 다른 이점도 제공한다.[40][22]
이 도구킷은 GUI 개발에만 국한되지 않으며 프로세스 간 통신 계층, 소켓 네트워킹 기능 등도 내장하고 있다.
7. wxWidgets을 위한 RAD 도구 및 IDE


다수의 빠른 애플리케이션 개발 (RAD) 및 통합 개발 환경 (IDE) 도구를 사용할 수 있다. 주요 도구는 다음과 같다:[23][24]
- wxDev-C++
- Code::Blocks (wxSmith 플러그인을 통해)
- CodeLite (wxCrafter 플러그인을 통해)
- wxGlade
- 보아 컨스트럭터 (파이썬)
- wxFormBuilder
8. wxWidgets를 사용하는 애플리케이션

wxWidgets를 사용하는 주요 애플리케이션은 다음과 같다.
- ''0 A.D.'' – ''에이지 오브 엠파이어''와 유사한 자유-오픈 소스 비디오 게임
- Amaya – 웹 저작 도구
- aMule – P2P 파일 공유 애플리케이션
- ActivePresenter – 스크린 레코더, 비디오 편집기 및 e-러닝 애플리케이션
- Audacity – 크로스 플랫폼 사운드 편집기
- BitTorrent – P2P 파일 공유 애플리케이션
- Berkeley Open Infrastructure for Network Computing – 오픈 소스 미들웨어 시스템
- Code::Blocks – C/C++ IDE
- CodeLite – 간단한 C++ 편집기 (플러그인으로 구현된 무료 도구 모음)
- FileZilla – FTP 클라이언트
- FreeFileSync – 무료 오픈 소스 파일 동기화 소프트웨어
- GrandOrgue – 가상 파이프 오르간 시뮬레이터
- Guayadeque Music Player – 데이터베이스를 갖춘 음악 플레이어
- Hollywood – RapaGUI 플러그인에서 wxWidgets 사용
- KiCad – 전자 설계 자동화 (EDA)를 위한 무료 소프트웨어 스위트
- RapidSVN – Subversion 클라이언트
- TortoiseCVS – CVS 클라이언트
참조
[1]
웹사이트
About the wxWidgets Project
https://wxwidgets.or[...]
wxwidgets.org
2010-01-02
[2]
웹사이트
About Julian Smart, www.anthemion.co.uk
http://www.anthemion[...]
anthemion.co.uk
2009-06-08
[3]
웹사이트
Julian Smart
http://www.bookfayre[...]
bookfayre.cz
2009-06-08
[4]
웹사이트
The Team - wxWidgets
https://wxwidgets.or[...]
[5]
웹사이트
History - wxWidgets
https://www.wxwidget[...]
[6]
웹사이트
wxEmbedded | embedded cross platform GUI library homepage
http://www.wxembedde[...]
[7]
웹사이트
About Who uses wxWidgets?
https://www.wxwidget[...]
wxwidgets.org
2011-04-12
[8]
웹사이트
List of open source applications that uses wxWidgets
http://sourceforge.n[...]
SourceForge.net
2011-04-22
[9]
웹사이트
History - wxWidgets
https://www.wxwidget[...]
2023-03-31
[10]
웹사이트
Name change
https://wxwidgets.or[...]
Sourceforge.net
2007-04-23
[11]
웹사이트
Google Summer of Code 2006: wxWidgets projects summary
https://wxwidgets.bl[...]
wxwidgets.org
2006-10-10
[12]
웹사이트
Google Summer of Code 2006
https://code.google.[...]
2011-04-11
[13]
웹사이트
'"License" page on website'
https://www.wxwidget[...]
[14]
웹사이트
Various Licenses and Comments about Them – GNU Project - Free Software Foundation
https://www.gnu.org/[...]
[15]
웹사이트
Open Source Initiative OSI – The wxWindows Library Licence:Licensing
http://www.opensourc[...]
Open Source Initiative
2011-04-28
[16]
웹사이트
wxWidgets: Introduction
https://docs.wxwidge[...]
2016-01-14
[17]
웹사이트
wxWidgets: Platform Details
https://docs.wxwidge[...]
2016-01-14
[18]
웹사이트
wxWidgets-AOS: AmigaOS port
https://sourceforge.[...]
2011-04-24
[19]
웹사이트
Supported Platforms
https://wiki.wxwidge[...]
wxwidgets.org
2011-04-24
[20]
웹사이트
Development: Supported Classes - WxWiki
https://wiki.wxwidge[...]
[21]
웹사이트
wxWidgets General Information
https://wiki.wxwidge[...]
2015-08-01
[22]
웹사이트
WxWidgets Compared To Other Toolkits
https://wiki.wxwidge[...]
2010-01-02
[23]
웹사이트
Tools for wxWidgets
https://wiki.wxwidge[...]
wxwidgets.org
2011-04-12
[24]
웹사이트
List of Integrated Development Environments
https://wiki.wxwidge[...]
wxwidgets.org
2011-04-12
[25]
웹사이트
wxWidgets 3.2.4 Released - wxWidget
https://www.wxwidget[...]
2024-02-23
[26]
웹사이트
wxWidgets 2.9.5 Released - wxWidgets
https://www.wxwidget[...]
2013-07-16
[27]
웹사이트
About the wxWidgets Project
http://wxwidgets.org[...]
wxwidgets.org
2010-01-02
[28]
웹사이트
About Julian Smart, www.anthemion.co.uk
http://www.anthemion[...]
Anthemion.co.uk
2009-06-08
[29]
웹사이트
Julian Smart
http://www.bookfayre[...]
Bookfayre.cz
2009-06-08
[30]
웹사이트
Name change
http://wxwidgets.org[...]
Sourceforge.net
2004-08
[31]
웹사이트
History - wxWidgets
https://www.wxwidget[...]
[32]
웹인용
wxWidgets: 3.2.4 Released
https://www.wxwidget[...]
2023-11-11
[33]
웹인용
wxWidgets: 3.2.0 released
https://wxwidgets.or[...]
2022-07-07
[34]
웹인용
wxEmbedded: wxWidgets for embedded applications
http://www.wxwidgets[...]
Sourceforge.net
2007-04-23
[35]
URL
http://wxwidgets.org[...]
[36]
웹사이트
About Julian Smart
http://www.anthemion[...]
[37]
웹인용
Butcher Danna | English Bookstore in Czech Republic
https://web.archive.[...]
2009-06-08
[38]
웹사이트
http://wxwidgets.org[...]
[39]
웹인용
보관된 사본
https://web.archive.[...]
2010-08-03
[40]
웹인용
WxWidgets Compared To Other Toolkits
http://wiki.wxwidget[...]
wxwidgets.org
2010-01-02
[41]
웹인용
wxWidgets - General FAQ
http://www.wxwidgets[...]
wxwidgets.org
2011-04-29
[42]
웹인용
wxWidgets-AOS: AmigaOS port
http://sourceforge.n[...]
2011-04-24
[43]
웹인용
Supported Platforms
http://wiki.wxwidget[...]
wxwidgets.org
2011-04-24
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com
