2012-05-23 1 views
0

필자가 PyQt4를 사용하여 GUI (문서 뷰어)를 만들려고 시도하면서 기존 프로그램의 품질을 재현하지 못하면 기존 프로그램의 Qt4 위젯 (Okular 's는 정확함)을 사용해야한다고 제안했습니다. 바퀴.C++로 작성된 Qt4 위젯을 일부 Python 코드로 구현하는 방법은 무엇입니까?

충분하지만 Qt4 위젯은 C++로 작성되었습니다. 파이썬 측에서 어떻게 호출해야합니까? 그리고 C로 배우는 것이 필요합니까 (이 경우 Pythonic 솔루션을 고안하는 데 더 많은 시간을 투자 할 것입니다).

+0

마타 (Mata)가 지적한 바와 같이 Qt는 C++로 작성되었으며, 처음에는 C로 작성되지 않았습니다. – Benjamin

답변

1

Qt는 C로 작성되지 않았으며 C++로 작성되었으며 Okular도 마찬가지입니다.

불행히도 C++ 라이브러리를 파이썬과 함께 사용하는 것은 C 라이브러리를 ctypes까지 사용하는 것만 큼 쉽지 않습니다. 그렇게하려면 C++ API 주위에 래퍼 코드를 작성하여 작동시켜야합니다. 이 작업을 수행하는
어떤 방법 :

  • sip - PyQt는
  • 에 의해
  • shiboken을 사용 - PySide
  • 에서 사용
  • cython 또한 Qt는
  • 잘 재생되는지 모른다, C++을 포장하는 데 사용할 수 있습니다
+0

확인. 따라서 Okular의 모듈이 필요하다고 가정하면 PDFViewer 위젯을 사용하면 [SIP 문서의 C++ 예제] (http://www.riverbankcomputing.co.uk/static/Docs/sip4/using.html##)를 쉽게 따라 할 수 있습니다. a-simple-c-example). 그런 다음 스크립트를 작성한 후에 모듈과 클래스를 파이썬으로 작성된 것처럼 가져올 수 있습니다. 그것은 너무 좋게 사실로 들립니다. – Benjamin

+0

예. 그러나 모든 SIP 정의 코드를 작성해야합니다. – mata

관련 문제