wxWidgets

wxWidgets
wxWidgets
WxWidgets.svg
원저작자줄리언[1][2][3] 스마트
개발자다양한 개발자 및 기여자[4]
초기 릴리즈1992년; 30년 전(1992년)[5]
안정된 릴리스3.2.0 (2022년 7월 7일, 31일 전 (2022-07-07) [±]
저장소
기입처C++
운영 체제크로스 플랫폼
유형개발 라이브러리
면허증.wxWidgets 라이선스
웹 사이트wxwidgets.org

wxWidgets(이전의 wxWindows)는 크로스 플랫폼응용 그래픽 사용자 인터페이스(GUI)를 작성하기 위한 위젯 툴킷 및 도구 라이브러리입니다.wxWidgets는 프로그램의 GUI 코드를 컴파일하여 코드 변경을 최소화하거나 전혀 하지 않고 여러 컴퓨터 플랫폼에서 실행할 수 있도록 합니다.wxWidgets에서는 다양한 컴파일러 기타 툴을 사용할 [7]수 있어 고도의 어플리케이션 개발이 용이합니다.wxWidgets는 널리 사용되는 운영체제 및 그래픽 라이브러리를 독자 사양무료로 폭넓게 지원하며 주요 조직에 널리 도입되어 있습니다(텍스트 참조).

이 프로젝트는 1992년 [1]Edinburgh 대학의 Julian Smart에 의해 wxWindows라는 이름으로 시작되었습니다. 프로젝트는 2004년 Microsoft UK의 상표권 주장에 따라 wxWidgets로 이름이 변경되었습니다.

이 소프트웨어는 무료 오픈 소스 소프트웨어로 wxWidgets 라이센스 조건에 따라 배포되며 GPL 및 독점 소프트웨어용으로 [8]생산하려는 사용자를 만족시킵니다.

휴대성과 도입

wxWidgets는 Microsoft Windows, Mac OS(카본 코코아), iOS(Cocoa Touch), Linux/Unix(X11, Motif, GTK), OpenVMS, OS/2Amiga 등의 시스템을 지원합니다.OS. 임베디드 시스템용 버전[9]개발 중입니다.

wxWidgets는 Xerox, Advanced Micro Devices(AMD), Lockheed Martin, NASACenter for Naval Analysis를 비롯한 여러 산업 부문에서 사용되고 있습니다.또한 Dartmouth Medical School, National Human Genome Institute, National Center for Biotechnology Information 등 공공 부문 [7]및 교육 부문에서도 사용되고 있습니다.wxWidgets는 많은 오픈 소스 [10]프로젝트와 개인 개발자에 의해 사용되고 있습니다.

역사

wxWidgets(초기 wxWindows)는 1992년 [1]Edinburgh 대학의 Julian Smart에 의해 시작되었습니다.그는 1986년 세인트 앤드류 대학에서 컴퓨터 과학 우등 학위를 받았으며, 여전히 핵심 [2]개발자입니다.

2004년 2월 20일, wxWindows의 개발자는 Microsoft가 Julian Smart에게 [11]Windows라는 용어의 영국 상표를 존중해 달라고 요구한 결과, 프로젝트의 이름을 wxWidgets로 변경했다고 발표했습니다.

주요 릴리스 버전은 2003년 1월 6일 2.4, 2005년 4월 21일 2.6, 2006년 12월 14일 2.8.0입니다.버전 3.0은 2013년 11월 11일에 출시되었습니다.

wxWidgets는 [12][13]2006년부터 Google Summer of Code에 참여하고 있습니다.

다음 표에 wxWidgets의 모든 메이저릴리즈 버전을 나타내는 릴리즈 이력을 나타냅니다.

버전 번호 날짜. 현저한 변화
Julian Smart가 시작한 프로젝트 1992년[14]
wxWindows 1
알파 1 1997년 4월[15] 5일
베타 1 1998년 12월[15] 24일
wxWidgets 2
2.0.1 1999년 3월[15] 1일
2.2.0 2000년 7월[16] 9일
2.4.0 2003년 1월[16] 6일
2.6.0 2005년 4월[16] 21일
2.8.0 2006년 12월[17] 14일
  • wxAUI 라이브러리
  • 범용 wxRichTextCtrl
  • 커스텀 그래픽 콤보 박스를 갖춘 wxComboCtrl.
  • wxAnimationCtrl, wxSimpleHtmlListBox, wxHyperlinkCtrl, wxColourPickerCtrl, wxDirPickerCtrl, wxFontPickerCtrl, wxCollapsane 등의 추가 기능
2.8.11 2010년 4월 23일
2.8.12 2011년 3월 28일
2.9.0 2009년 9월 8일
2.9.1 2010년 7월 19일
2.9.2 2011년 7월 5일
2.9.3 2011년 12월 14일
2.9.4 2012년 7월 9일
2.9.5 2013년 7월 16일
wxWidgets 3
3.0.0 2013년 11월[15] 11일
  • GTK+3 포트
  • 트랜스페어런트 Unicode 지원
  • 디버깅 릴리스 빌드 통합
  • 64비트 모드로 동작하는 코코아 기반의 wxOSX 포트
  • 영속 제어
  • 윈도 모드 및 어플리케이션모달 대화상자 지원
  • wxRibbon – 리본 구현
  • wxPropertyGrid(속성 그리드)
3.0.1 2014년 6월 15일
3.0.2 2014년 10월 6일
3.0.3 2017년 5월 2일
3.0.4 2018년 3월 8일
3.0.5 2020년 4월 27일
3.1.0 2016년 2월 29일
  • 특히 Windows에서 높은 DPI 디스플레이를 더 잘 지원합니다.
  • MSVS 2015, g++ 5.3, clang 3.8 등의 최신 컴파일러 지원(C++11 모드 포함).
  • 최신 OpenGL(3.2+)에 적합한 개량된 OpenGL 지원.
  • 새로운 wx액티비티인디케이터 및 wxNativeWindow 클래스
  • wxNotificationMessage가 개선되었습니다.
  • wxTextEntry와 같은 몇 가지 새로운 메서드:Force Upper() , wxProcess:활성화(), wxDateTime::GetWeekBasedYear(), wxListBox:GetTopItem(), wxStandardPaths:GetUserDir(), wxUIActionSimulator:를 선택합니다().
  • 번들된 서드파티 라이브러리의 업데이트 버전 및 Unix에서의 GStreamer 1.0 지원
  • 새로운 실험용 wxQt 포트
  • 버그 수정
3.1.1 2018년 2월[18] 19일
  • wxWidgets 3.1.1은 3.1 개발 브랜치의 두 번째 릴리스입니다.이 릴리스는 3.0과 비교하여 호환되지 않는 API를 거의 변경하지 않으며 3.0.[18]x 시리즈와 달리 ABI의 안정성을 보장하지 않기 때문에 "개발"된 것입니다.
3.1.2 2018년 12월 10일
  • macOS 10.14 및 그 다크 모드 초기 지원.
  • 정수 이외의 글꼴 크기 및 임의 글꼴 가중치를 지원합니다.
  • 새로운 wxLZMA {Input,Output}스트림클래스
  • wxDataView 추가ToggleRenderer:ShowAsRadio(), wxDisplay:GetPPI(), wxGrid:: Set Corner Label Value() , wxHtml Easy Printing : :Set Prompt Mode(), wxJoystickEvent:GetButtonOrdinal(), wxToolbook:: Enable Page().
3.1.3 2019년 10월 28일
  • MSW에서 모니터 단위의 DPI 및 다이내믹 DPI 변경 지원.
  • 일반적으로 다양한 컨트롤에 대한 많은 수정이 높은 DPI로 나타납니다.
  • wxGrid의 행 및/또는 열 고정 지원을 오랫동안 요청했습니다.
  • wxDataViewCtrl, wxInfoBar의 새로운 XRC 핸들러.
  • 이제 wxGraphicsPen을 작성할 때 그라데이션 사용을 할 수 있게 되었습니다.
  • 확장 컴파일러(MSVS 2019) 및 플랫폼(macOS 10.14+) 지원.
  • wxQt 포트가 대폭 개선되었습니다.
  • wxOSX 포트의 포커스 처리에 중요한 버그 수정.
3.1.4 2020년 7월 22일
  • wxOSX 포트는 ARM 하드웨어에서 최신 macOS 11을 지원하게 되었습니다.
  • wxMSW에는 새로운 Edge 기반의 wxWebView 구현이 포함되어 있습니다.
  • wxMSW에서는 모니터 단위의 DPI 지원이 아직 완벽하지는 않지만 우수합니다.
  • wxGrid는 대폭 개선되어 현재는 사용자 친화적입니다.
  • 기본이 아닌 GTK 테마 및 MacOS 다크 모드에 대한 AUI 외관 확장 기능
  • 이제 wxWidgets는 C++20 컴파일러로 빌드할 수 있습니다.
  • CMake 빌드 시스템 개선.
  • 임의로 위험한 암묵적인 wxString 변환을 금지합니다.
3.1.5 2021년 4월 14일
  • 새로운 wxWebRequest 및 관련 클래스는 네이티브라이브러리 또는 libcurl을 사용하여 wxWidgets 응용 프로그램에서 HTTPS 및 HTTP/2를 사용하는 간단한 방법을 제공합니다.
  • Linux에서 wxGLCanvas 및 wxMediaCtrl의 Wayland에서 EGL을 지원합니다.
  • MacOS 11의 많은 외관 및 기타 수정 사항.
  • wxGrid UI, API 및 성능 향상
  • wxImage 개선: Paste() 및 클립보드 지원에서 알파 지원 추가.
  • API 추가: wxPersistentComboBox, wxFileName:ResolveLink() , wxFileHistory:SetMenuPathStyle(), wxString::utf8_string(), wxEVT_FULL SCREEN.
  • 개선점: wxConfig는 64비트 정수를 지원하게 되었습니다.wxLog는 타임스탬프 내의 밀리초 해상도를 사용하며, XRC 파일을 URL에서 로드할 수 있습니다.
  • Borland C++ 지원을 해제합니다.
3.1.6 2022년 4월 4일
  • HiDPI가 많이 개선되었습니다.
  • 새로운 wxBitmapBundle 클래스로 일반 DPI와 높은 DPI 모두에 간단한 아트워크를 제공합니다.
  • 새로운 wxUILocale 클래스는 이전(그러나 아직 사용 가능) wxLocale을 대체하지만 여러 가지 문제에 시달리지 않고 더 많은 기능을 제공합니다.
  • wxTextCtrl에서 네이티브 맞춤법 검사 사용 지원.
  • wxOSX의 wxTextCtrl에서의 실행 취소/재실행 지원.
  • wxOSX에서의 드래그 앤 드롭 구현이 향상되었습니다.
  • 모든 플랫폼에서 wxDataViewCtrl의 중요한 버그 수정.
  • wxGTK에서 Wayland를 지원하기 위해 많은 개선과 버그 수정이 이루어졌습니다.
  • 최신 OS 버전(Windows 11, macOS 12) 및 컴파일러(MSVS 2022, gcc 12, clang 13) 지원
  • 프로젝트 버그 트래커가 GitHub Issues로 이동되었습니다.
3.1.7 2022년 6월 6일
  • CMake 빌드 시스템 개선(사전 컴파일된 헤더 지원 향상).
  • wxMSW의 IFileDialog와 함께 작동하는 새로운 wxFileDialog 커스터마이제이션 API.
  • 다수의 갱신된 번역과 새로운 wxTRANSlate_IN_CONTEXT().
  • wxOSX의 새로운 MacOS 12 기능과의 부적절한 상호 작용 수정.
  • 이전에 누락된 여러 특성이 여러 XRC 핸들러에 추가되었습니다.
  • wxGrid에서 끌어서 행 재정렬 및 UI 향상
  • wxGTK에서 선택한(또는 모든) GTK 경고 메시지를 억제하는 기능.
3.2.0 2022년 7월 7일
  • Win9x 플랫폼 지원을 중단합니다.
  • Microsoft Visual C++ 6.0 지원을 해제합니다.
  • MacOS 네이티브 다크 모드 지원.
  • MacOS의 ARM 버전 지원.
  • HiDPI 및 모니터 단위의 DPI API.
  • Wayland 지원
  • wxWebRequest는 HTTPS 및 HTTP/2를 지원하게 되었습니다.
향후 버전

면허증.

wxWindows 라이선스
Debian FSG 호환네.
FSF 승인된네.
OSI 승인된네.
GPL 대응네.
카피레프트네.
다른 라이선스를 가진 코드에서 링크네.
웹 사이트www.wxwidgets.org Edit this on Wikidata

wxWidgets는 GNU Lesser General Public License(LGPL)와 유사한 커스텀 메이드의 wxWindows License에 따라 배포됩니다.단, 파생된 바이너리 형식의 작업은 사용자의 조건에 따라 [8]배포될 수 있습니다. 라이센스는 FSF에 [19]의해 승인된 무료 소프트웨어 라이센스이므로 wxWidgets를 무료 소프트웨어로 만듭니다.오픈 소스 이니셔티브(OSI)[20]에 의해 승인되었습니다.

공식 지원

지원되는 플랫폼

wxWidgets는 다음 [21][22]플랫폼에서 지원됩니다.

  • Windows – wxMSW (32/64비트 Windows XP에서 Windows 10까지)
  • Linux/UnixwxGTK, wxX11, wxMotif
  • Mac OS – wxMac (Carbon 사용 Mac OS X 10.3, Mac OS X 10.5 사용 코코아 사용), wxOSX/Cocoa (32/64비트 Mac OS X 10.7 이후)
  • OS/2 – wxOS2, wxPM, wxWidgets for GTK 또는 Motif를 OS/2로 컴파일 가능
  • 임베디드 플랫폼– wxEmbedded[9]

외부 포트

  • Amiga – wxWidgets-AOS: AmigaOS 포트(작업 진행 중)[23]

지원되는 컴파일러

wxWidgets는 다음 [24][25]컴파일러에서 정상적으로 동작하는 것으로 공식 확인되었습니다.

툴킷 컴파일러 버전
wxMSW Microsoft Visual Studio – Visual C++ 5.0+
Borland C++(3.1.5에서 드롭) 5.5+
C++빌더 2006+
Watcom C++, OpenWatcom 10.6+
코드 워리어 7+
시그윈 1.5+
최소 GW 2.0+
디지털 Mars C/C++ 컴파일러 8.40+
x GTK g++ 2.95+
쨍그랑++ 3.3+
인텔 C++ 컴파일러 9.1+
Sun Studio C/C++ 5.9
HP aC++ 3.8
IBM XL C/C++ 8.0

프로그래밍 언어 바인딩

wxPython 로고

wxWidgets 라이브러리는 C++로 구현되며 바인딩은 일반적으로 사용되는 많은 프로그래밍 [26]언어에서 사용할 수 있습니다.

wxWidgets는 그래픽 프리미티브를 사용하여 위젯 표시를 에뮬레이트하는 것과는 달리 플랫폼의 네이티브 위젯에 얇은 추상화를 제공하기 때문에 네이티브 모드 툴킷으로 가장 잘 설명됩니다.타깃 플랫폼에서 네이티브 위젯을 호출하면 Swing(Java용)과 같은 툴킷보다 네이티브한 인터페이스를 얻을 수 있을 뿐만 아니라 성능 및 기타 [27]이점을 얻을 수 있습니다.

또한 툴킷은 프로세스 간 통신 레이어, 소켓네트워킹 기능 등을 갖춘 GUI 개발에만 국한되지 않습니다.

wxWidgets용 RAD 도구 및 IDE

Windows XP에서의 CodeLite
코드: Ubuntu에서 실행 중인 블록

많은 RAD(Rapid Application Development) 및 IDE(Integrated Development Environment) 도구를 사용할 수 있습니다.주목할 만한 툴은 다음과 같습니다.[28][29]

wxWidgets를 사용하여 구축된 응용 프로그램

Windows 7의 Amaya

wxWidgets를 사용하는 주요 응용 프로그램:

비판

wxWidgets의 [clarification needed]문제로 인해 많은 유명하고 큰 애플리케이션이 Qt로 전환되었습니다.

「 」를 참조해 주세요.

  • FLTK – 경량 크로스 플랫폼, 비네이티브 위젯 툴킷
  • FOX 툴킷– 고속 오픈 소스 크로스 플랫폼 위젯 툴킷
  • GTK – GNOME 어플리케이션에서 사용되는 위젯 툴킷인 GIMP 툴킷
  • gtkmm – GTK의 C++ 버전
  • Juce – 광범위한 크로스 플랫폼 위젯 툴킷
  • IUP – 네이티브 그래피컬 사용자 인터페이스를 구축하기 위한 멀티 플랫폼 툴킷
  • Qt (툴킷) – KDE 응용 프로그램에서 사용하는 응용 프로그램 프레임워크
  • Ultimate++ – C++ 크로스 플랫폼 개발 프레임워크
  • 위젯 툴킷
  • 위젯 도구 키트 목록

레퍼런스

  1. ^ a b c "About the wxWidgets Project". wxwidgets.org. Retrieved 2010-01-02.
  2. ^ a b "About Julian Smart, www.anthemion.co.uk". anthemion.co.uk. Retrieved 2009-06-08.
  3. ^ "Julian Smart". bookfayre.cz. Retrieved 2009-06-08.
  4. ^ wxWids는 개발자 및 기여자를 획득합니다.
  5. ^ 이력 - wxWidgets
  6. ^ "wxWidgets: 3.2.0 released". 2022-07-07. Retrieved 2022-07-07.
  7. ^ a b "About Who uses wxWidgets?". wxwidgets.org. Retrieved 2011-04-12.
  8. ^ a b ""License" page on website". The wxWindows Licence is essentially the LGPL, with an exception stating that derived works in binary form may be distributed on the user's own terms.
  9. ^ a b "wxEmbedded®: wxWidgets for embedded applications".
  10. ^ "List of open source applications that uses wxWidgets". SourceForge.net. Retrieved 2011-04-22.
  11. ^ Smart, Julian; Robin Dunn (August 2004). "Name change". Sourceforge.net. Retrieved 2007-04-23.
  12. ^ Smart, Julian (2006-10-10). "Google Summer of Code 2006: wxWidgets projects summary". wxwidgets.org. Retrieved 2011-04-11.
  13. ^ "Google Summer of Code 2006". Retrieved 2011-04-11.
  14. ^ "History of wxWidgets". wxwidgets.org. Retrieved 2011-04-11.
  15. ^ a b c d "wxWidgets Change Log". wxwidgets.org. Retrieved 2011-04-11.
  16. ^ a b c "News". wxwidgets.org. Retrieved 2011-04-11.
  17. ^ Sudiarto Raharjo, Willy (2006-12-14). "WxWidgets 2.8.0". Retrieved 2011-04-11.
  18. ^ a b "wxWidgets/wxWidgets Releases". GitHub. Retrieved 2018-03-07.
  19. ^ https://www.gnu.org/licenses/license-list.html#Wx
  20. ^ "Open Source Initiative OSI – The wxWindows Library Licence:Licensing". Open Source Initiative. Retrieved 2011-04-28.
  21. ^ "wxWidgets: Introduction". docs.wxwidgets.org. Retrieved 2016-01-14.
  22. ^ "wxWidgets: Platform Details". docs.wxwidgets.org. Retrieved 2016-01-14.
  23. ^ "wxWidgets-AOS: AmigaOS port". Retrieved 2011-04-24.
  24. ^ "Supported Platforms". wxwidgets.org. Retrieved 2011-04-24.
  25. ^ wxWidgets 포트별로 지원되는 클래스
  26. ^ "wxWidgets General Information". wxwidgets.org. Retrieved 2015-08-01.
  27. ^ "WxWidgets Compared To Other Toolkits". wxwidgets.org. Retrieved 2010-01-02.
  28. ^ "Tools for wxWidgets". wxwidgets.org. Retrieved 2011-04-12.
  29. ^ "List of Integrated Development Environments". wxwidgets.org. Retrieved 2011-04-12.
  30. ^ "Dolphin Progress Report: May 2017 – Qt-ie Patootie". Dolphin Emulator Project. 3 June 2017. Retrieved 14 May 2019.
  31. ^ "The Legend of Dolphin: A Lens Between Worlds". Dolphin Emulator Project. 2 May 2018. Retrieved 14 May 2019.
  32. ^ "Dolphin Emulator - Dolphin Progress Report_ January 2018". 3 February 2018. Retrieved 14 May 2019.
  33. ^ "MKVToolNix GUI · Wiki · Moritz Bunkus _ MKVToolNix · GitLab". Retrieved 14 May 2019.
  34. ^ Jean-Baptiste Kempf (February 10, 2007). "Qt4 Interface". Yet another blog for JBKempf. Retrieved 14 May 2019.
  35. ^ "This state of Gtk sad, but I'm really glad we (VLC) moved to Qt, a few years ago... _ Hacker News". Retrieved 14 May 2019.

추가 정보

외부 링크