Python으로 사용자 인터페이스를 개발하려는 경우 TkInter 또는 PyQt 중 어느 것을 사용해야합니까?
방금 TkInter로 시작했고 레이블, 버튼, 텍스트 상자 등과 같은 기본 위젯을 사용하는 간단한 UI를 얻을 수있었습니다. PyQt가 TkInter에 비해 얼마나 좋은지 궁금하십니까?
건배
Python으로 사용자 인터페이스를 개발하려는 경우 TkInter 또는 PyQt 중 어느 것을 사용해야합니까?
방금 TkInter로 시작했고 레이블, 버튼, 텍스트 상자 등과 같은 기본 위젯을 사용하는 간단한 UI를 얻을 수있었습니다. PyQt가 TkInter에 비해 얼마나 좋은지 궁금하십니까?
건배
답변:
PyQt 당신이 진지한 것을 개발하고 있다면, 특히 당신이 배우는 것은 당신이 필요하다면 다른 언어로도 Qt로 작업하는 것으로 직접 번역 될 것이고, Qt는 아마도 현재 사용 가능한 최고의 크로스 플랫폼 인터페이스 툴킷 일 것입니다.
두 가지 실제 (잠재적) 단점이 있습니다.
PyQt는 GPL에서만 사용할 수 있습니다. 즉, 코드를 릴리스하는 경우 호환 가능한 라이선스, Nokia의 GPL 예외 조건 또는 상업용 라이선스 (비용이 드는)에 따라 사용할 수 있어야합니다 . 이것은 현재 LGPL에서 사용할 수있는 Qt와는 대조적입니다.
PyQt는 기본적으로 Python 설치에 포함되지 않습니다. 라이브러리를 직접 패키징해야합니다. (Ars Technica는 Windows 및 OS X에서 수행하는 방법에 대한 좋은 기사 를 제공합니다.)
PyQt는 현재 우리의 주요 GUI 툴킷이며 개발 1 년 후에는 다른 것으로 돌아가고 싶지 않습니다. 안정적이고 성숙하며 크로스 플랫폼이며 완전히 네이티브입니다. 시스템 대화 상자 (예 : 파일 열기)도 운영 체제에서 사용하는 대화 상자입니다.
XP 테마를 조정했고 이제 그에 따라 앱 스킨을 조정했습니다. 이것은 같은 툴킷과 비교할 수없는 매우 전문적인 모습을 만듭니다 Swing
. API는 광범위하며 위젯과 같은 순수한 GUI를 뛰어 넘습니다. 그것은 데이터베이스 연결, 인쇄, 스레딩을 지원합니다. 속도를 높이기 위해 Mark Summerfield의 책 ' Rapid GUI Programming with Python and Qt '를 추천합니다. Qt에는 내가 사용한 것 중 최고인 GUI 빌더 (Qt 디자이너)가 함께 제공된다는 점을 명심하십시오.
이 빌더를 사용하여 사용자에게 보여줄 모형을 만듭니다 (쉽습니다!).
여기에서 다른 2 명의 개발자에게 소개했는데 그들이 불평하는 것을 듣지 못했습니다 ...
Tkinter를 사용하여 거대한 GUI를 만들 수 있습니다. pytkgen 모듈을 사용해보고 싶다면 JSON 정의에서 Tkinter GUI를 만드는 데 도움이됩니다 : https://github.com/tmetsch/pytkgen