PyQT 는 영국의 Riverbank Computing 이라는 곳에서 C++ 의 Cross Plaform GUI Framework 중 하나인 QT를 파이썬 모듈로 변환해 주는 툴을 만들며 시작되었다.
왼쪽 투박한 노란 그림은 Riverbank Computing의 로고이며 홈페이지는 접근성을 고려해서인지 텍스트 위주의 페이지가 대부분이지만 PyQT를 사용하다 보면 이곳, Wiki 페이지에 자주 들리게 될 것이니 즐겨찾기 등을 해두자.
PyQT4 Reference Page http://pyqt.sourceforge.net/Docs/PyQt4/
간단히 요약하자면 QT라는 GUI 화면 만들어 주는 도구를 원래 파이썬에서 사용할 수 없는 C++용이였는데 어떤 회사가 친절하게도 파이썬에서도 사용할 수 있게 변환 툴을 만들어 줘서 우리는 파이썬과 QT를 이용해서 더 빠르게 원하는 것을 뚝딱 만들어 낼 수 있게 되었다는 것.
그 동안 PyGTK, PySide, Tkinter 등, Python에서 쓸 수 있던 GUI Framework 이 없었던건 아니지만 접근하기에는 어려움이 다소 있었고 일단 모양이 이쁘지가 않다는 치명적이라면 그렇다할 부분들이 있었다. 실제 Tkinter라는 것을 많이 쓰는데 필자 같은 경우는 PyQT를 먼저 쓰고 난 뒤라 그런지 불편하여 저런게 있구나 정도만 해봤다. 아래는 사용 예.
http://ddolddoly.tistory.com/55
PyQT를 사용해서 얻을 수 있는 가장 큰 이점 중 하나는 상기 명시된 툴들 중 가장 쉽고 예쁘며 직관적인 인터페이스를 가진 GUI 편집기인 Qt Designer 를 사용할 수 있기 때문이다. 곧 강의를 통하여 배워 보겠지만 정말 별거 없을 정도로 사용법이 쉬우며 확장성이 용의한 위젯들, 즉 쓸만한 아이템을 많이 포함하고 있다.
PyQT 는 위에서의 설명과 같이 Python과 QT를 동시에 사용해야 하기 때문에 강의는 Python 20% QT 80% 정도의 비율로 진행이 된다. Python 과 객체지향적 코드작성등은 다른 강의를 통해 선행해야 하며 필자 역시 객체지향을 파이썬을 통해서만 써봤기 때문에 코드가 많은 부분에서 비 효율적이거나 잘못 작성하고 있을 수 있다. 하지만 지금은 그런 부분은 배제하며 QT의 위젯 사용법과 동작들에 대해서 다루기 때문에 정확한 코드는 스스로 작성해 보도록 하자.