python

wxPython
WxPython
WxPython-logo.png
개발자로빈 던
해리 파사넨
초기 릴리즈1998년; 24년 전(1998년)
안정된 릴리스
4.1.1[1] / 2020년 11월 21일, 20개월 전(2020-11-21)
저장소
기입처C++ / Python
운영 체제크로스 플랫폼
면허증.wxWindows 라이선스
웹 사이트wxpython.org

wxPython은 파이썬 프로그래밍 언어용 크로스 플랫폼 GUI API(종종 "툴킷"이라고 함) wxWidgets(C++로 작성됨)의 래퍼입니다.그것은 Tkinter의 대안 중 하나이다.Python 확장 모듈(네이티브 코드)로 구현됩니다.

역사

1995년에 Robin Dunn은 HP-UX 시스템에 GUI 애플리케이션을 도입할 필요가 있었지만 단기간에 Windows 3.1을 실행할 수도 있었습니다.그는 크로스 플랫폼 솔루션이 필요했습니다.무료 솔루션과 상용 솔루션을 평가하던 중 그는 wxWidgets 툴킷 웹페이지(당시 wxWindows로 알려짐)에서 Python 바인딩을 발견했다.이것이 Dunn이 Python을 소개한 것입니다.Harri Pasanen 및 Edward Zimmerman과 함께 이러한 초기 바인딩을 wxPython 0.2로 [2]개발했습니다.

1998년 8월에 wxPython 버전 0.3이 출시되었습니다.wxWidgets 2.0용으로 구축되어 Win32 상에서 실행되었으며 [3]wxGTK 버전이 동작하고 있습니다.

포장지의 첫 번째 버전은 수작업으로 만들어졌습니다.단, 이 코드는 wxWidgets 릴리즈와 동기화된 상태로 유지하기가 어려워졌습니다.1997년까지 SWIG를 사용하여 버전이 생성되어 [2]래퍼 업데이트 작업이 크게 감소했습니다.

프로젝트 피닉스

2010년 프로젝트 피닉스가 시작되었습니다.wxPython 구현을 정리하고 그 과정에서 Python [4]3과 호환되도록 하기 위한 노력입니다.이 프로젝트는 wxPython의 새로운 구현으로 속도, 유지보수성 및 확장성 향상에 중점을 두고 있습니다.이전 버전의 wxPython과 마찬가지로 wxWidgets C++ 툴킷을 랩하여 wxWidgets [5]API의 사용자 인터페이스 부분에 대한 액세스를 제공합니다.

2017년 4.0.0a1 wxPython이 출시되면서 Project Phoenix 버전이 공식 버전이 [6]되었습니다.wxPython 4.x는 2022년 [7]6월 현재 개발 중인 버전입니다.

사용하다

wxPython을 사용하면 플랫폼 고유의 코드가 거의 필요하지 않은 크로스 플랫폼 GUI 애플리케이션에 Python을 사용할 수 있습니다.

이것은 간단한 "Hello world" 모듈로, wxPython(메인 창 개체와 응용 프로그램 개체)에서 두 개의 주요 개체를 생성한 후 (호출에 의해) 이벤트 구동 시스템에 제어를 전달합니다.MainLoop())는 프로그램의 사용자가 인식하는 부분을 관리합니다.

#!/usr/bin/env python3  수입품 wx  앱. = wx.앱.(거짓의)  # stdout/stderr을 창으로 리디렉션하지 말고 새 앱을 만듭니다.  = wx.(없음., 직함='헬로 월드') # 프레임은 최상위 창입니다. .표시(진실의)     # 프레임을 보여줍니다. 앱..메인 루프() 

이것은 Windows 10 운영체제에서 wxPython GUI 디스플레이가 표시된 wxPython 닫기 버튼의 또 다른 예입니다.

Windows 10에서 wxPython이 표시된 닫기 버튼
수입품 wx  학급 Wx 버튼(wx.):      방어하다 __init__(자신, *args, **):         잘 하는 군요(Wx 버튼, 자신).__init__(*args, **)         자신.InitUI()      방어하다 InitUI(자신):         pnl = wx.패널(자신)         닫기 버튼 = wx.단추(pnl, 라벨.='Close Me', 포스=(20, 20))          닫기 버튼.바인드(wx.EVT_버튼, 자신.OnClose(OnClose))          자신.세트 사이즈((350, 250))         자신.SetTitle(설정 제목)('닫기 버튼')         자신.센터()      방어하다 OnClose(OnClose)(자신, e):         자신.가까운.(진실의)  방어하다 주된():     앱. = wx.앱.()     ex = Wx 버튼(없음.)     ex.표시()     앱..메인 루프()  한다면 __name__ == "_메인__":     주된() 

면허증.

wxPython은 래퍼로서 wxWidgets(wxWindows 라이센스)[8]에서 사용하는 것과 동일한 무료 소프트웨어 라이센스를 사용합니다. 이 라이센스는 Free Software FoundationOpen Source Initiative에서 승인했습니다.

wxPython으로 개발된 애플리케이션

레퍼런스

인용문

  1. ^ "wxPython Changelog". wxPython. 2020-11-21. Retrieved 2021-02-18.
  2. ^ a b Team, The wxPython (2017-07-14). "wxPython History". wxPython. Retrieved 2022-06-25.
  3. ^ "Yahoo! Groups : python-announce-list Messages :Message 95 of 1083". 2001-03-12. Archived from the original on 12 March 2001. Retrieved 2022-06-25.
  4. ^ "Goals of Project Phoenix". Retrieved 2016-03-17.
  5. ^ "Project Phoenix readme file on GitHub". Retrieved 2014-01-01.
  6. ^ Robin (2017-04-16). "wxPython 4.0.0a1 Release". wxPython. Retrieved 2022-06-25.
  7. ^ Team, The wxPython (2020-11-21). "wxPython 4.1.1 Released". wxPython. Retrieved 2022-06-25.
  8. ^ "Copyright notice". Retrieved 2009-02-27.
  9. ^ "6 lessons from Dropbox one million files saved every 15 minutes".
  10. ^ "Open source components and licenses". Google. Retrieved 28 January 2013.

원천

추가 정보

외부 링크