2012-01-12 4 views
3

PyQt4 및 matplotlib를 사용하여 Python 3에서 GUI 응용 프로그램을 작성하고 있습니다. 사용자는 특정 필드 이름을 선택해야합니다. 그런 다음 programm는 데이터베이스에서 해당 값을 읽고 처리하고 일부 통계가있는 플롯을 그립니다. 사용자는 필드 이름이나 통계 표현을위한 특정 옵션을 변경하고 플롯을 (자동으로) 다시 그릴 수 있습니다.Qt 4, Python 3 용 matplotlib 위젯

이 장에서 Qt 위젯을 발견했습니다 : Matplotlib for Python Developers, Embedding Matplotlib in Qt 4. 그러나 여기에 몇 가지 예제 위젯도 있습니다 : mpl widget.

Qt 디자인에 대한 많은 경험이 없으며이 두 가지의 차이점은 무엇인지 궁금하십니까? 지금까지 나는 첫 번째 것을 시도했고 Qt GUI 내에서 matplotlib 플롯 (히스토그램)을 표시 할 수는 있지만 아직 구현되지 않았기 때문에 매개 변수를 변경 한 후에 플롯을 업데이트하는 것과 같은 모든 기능을 테스트 할 수는 없습니다 .

모든 조언, 좋은 참조 또는 사용 가능한 위젯을 환영합니다.

+5

Qt 프로젝트에 데이터를 플롯해야 할 때이 [데모] (http://eli.thegreenplace.net/2009/01/20/matplotlib-with-pyqt-guis/)를 사용했습니다. 그것은 꽤 쉬웠다 – JBernardo

+0

좋은 예 (고맙다)! – Katya

답변

0

mpl 위젯의 장점은 QtDesigner에서 인터페이스를 디자인하는 동안 그것을 볼 수 있고 자동으로 설정되는 것들이 있다는 것입니다. 코드를 보면 코드가 "embedding"예제를 기반으로한다는 것을 알 수 있습니다. 반면에, 플롯 위젯을 넣으려면 인터페이스에 항상 자리 표시 자 qwidget (또는 무엇이든)을 넣을 수 있습니다. 그런 다음 mpl_widget 파일을 의존성으로 가지고 다니지 않아도됩니다.

심지어 가장 간단한 해결책은 matplotlib의 Pylab 인터페이스를 사용하는 것입니다.이 Pylab 인터페이스는 기본 응용 프로그램과 독립적 인 그림 창을 생성합니다. 대화식 모드가 켜져 있고 백엔드가 qt4로 설정되어 있는지 확인해야합니다. 그림은 관리하기 쉽습니다 (예 : plt.close ('all')).