2012-08-24 2 views
2

데이터 모델의 개념 네트워크 (노드 - 에지 - 노드는 텍스트 속성을 가질 수 있음)를 그리 고 QT를 사용하여 멋지게 레이아웃해야합니다. 나는 이미 graphviz에 대한 경험이 있지만, outa-da-box에서 작동한다면 다른 것을 배울 의향이있다. 내 옵션은 무엇입니까? 어떻게 든 이미지를 생성 한 다음 QLabel을 통해이를 그릴 수 있다는 것을 알고 있습니다. 그러나, 나는 이것을 단순화시키는 유용한 통합 API가 있기를 바라고있다.그래프 그리기 QQ에서 PyQt4를 통한 QA의

답변

4

QGraphicsView으로 전체 대화 형 그래프를 구현할 수 있습니다. 이는 아마도 QLabel의 정지 이미지보다 바람직 할 것입니다. Qt는이 특별한 경우에 an example입니다. 당신은 그것에 구축 할 수 있습니다. PyQt 버전은 examples/graphicsview 내부에 설치되어 있습니다.

그래도 graphviz에서 작동하는 기성품 위젯/api는 알지 못합니다.

+0

내가 찾는 것 같은 소리 +1 –

2

나는 노드 그래프 인 Qt 확장 위젯 라이브러리를 만들었습니다. 커스텀 룩을 위해 노드를 그리는 방법을 완전히 정의하거나 멤버 메소드를 통해 일반적으로 제어 할 수 있습니다. 부담없이 사용하십시오.

겉보기 느낌을주기 위해 Orbiter 응용 프로그램은이를 사용하여 데이터베이스 ORM 그래프를 작성합니다. 지금은 그저 유일한 예일뿐입니다. 그러나 앞으로 2 주 내에 더 많은 문서를 확보 할 계획입니다.

http://docs.projexsoftware.com/api/projexui/widgets/xnodewidget/

그리고 정보 : 여기에 시작 문서입니다,

http://www.projexsoftware.com/software/orbiter/

특정 클래스가 아닌 특정 어플리케이션 및 XNodeWidget라고 :

현재 인공 위성 응용 프로그램을 볼 수 있습니다 라이브러리를 얻는 방법은 여기를 참조하십시오.

http://dev.projexsoftware.com/projects/projexui/

Lemme 알아 냈어!

+0

유망 해 보입니다. 나는 분명히 API를 살펴볼 것이다. –

0

다른 옵션은 networkx 일 수 있습니다. 그래프를 만들고 레이아웃하고 그릴 수 있습니다 (matplotlib 또는 graphviz를 사용하여)