我需要從數據模型中繪製概念網絡(節點 - 邊 - 節點可以具有文本屬性),並將它鋪設得很好(使用QT)。我已經有了graphviz的經驗,但是如果它可以工作,我願意學習其他東西。我有什麼選擇?我知道我可以生成一個圖像,然後通過QLabel以某種方式繪製。但是,我希望有一個很好的集成API可以簡化這個過程?繪製圖形通過PyQt4在QT中繪製ALA Graphviz
回答
您可以使用QGraphicsView
實現完全交互式圖形。這可能比QLabel
中的靜態圖片更可取。對於這種特殊情況,Qt有an example。你可以建立它。 PyQt版本在examples/graphicsview
內安裝。
雖然,我不知道任何現成的widgets/api與graphviz一起工作。
我製作了一個Qt擴展小部件庫 - 其中一個是節點圖。您可以完全定義如何繪製自定義外觀的節點,或者可以通過成員方法進行統一控制。隨意看看和使用。
爲了體會它的外觀,Orbiter應用程序使用它來構建數據庫ORM圖。這是目前唯一的例子 - 但我打算在接下來的幾周內獲得更多的文檔。
你可以看到軌道器應用在這裏:
http://www.projexsoftware.com/software/orbiter/
的具體類是不特定應用,被稱爲XNodeWidget,這裏的開始文檔:
http://docs.projexsoftware.com/api/projexui/widgets/xnodewidget/
和訊關於如何獲得圖書館可以在這裏找到:
http://dev.projexsoftware.com/projects/projexui/
讓我知道是否可行!
看起來很有前途。我一定會瀏覽API。 –
另一種選擇可能是使用networkx。 它允許創建您的圖形,佈局並繪製它(使用matplotlib或graphviz)
- 1. 繪製真實圖形(graphviz?)
- 2. Qt - QCustomPlot繪製圖形
- 3. 在Winforms中繪製圖形繪製
- 4. 用graphviz繪製大圖
- 5. 使用graphviz繪製樹圖
- 6. graphviz垂直繪製圖
- 7. iPhone通過圖形繪製Core Graphics
- 8. 通過調用函數繪製圖形
- 9. 在ubuntu中繪製圖形
- 10. 在div中繪製圖形
- 11. 在UIView中繪製圖形
- 12. 在UIButton中繪製圖形
- 13. 在JQuery中繪製圖形
- 14. 在c中繪製圖形
- 15. 在ExtJs中繪製圖形
- 16. 在android中繪製圖形
- 17. 在jfreechart中繪製圖形
- 18. QT繪製像素到圖形場景
- 19. Qt:繪製三角形圖片
- 20. 使用Qt繪製Sin(x)的圖形
- 21. 如何在graphviz中繪製鏈表而不通過節點?
- 22. 繪製在圖2D圖形
- 23. matlab - 圖形繪製
- 24. 圖形繪製VC++
- 25. 繪製條形圖
- 26. matlab - 圖形繪製
- 27. 繪製Web圖形
- 28. Graphviz - 繪製最大派系
- 29. 在Android中通過ImageView繪製圖層
- 30. 加載圖像,通過單擊按鈕在其上繪製圖形,通過鼠標在其上繪製線條
聽起來像我可能要找的+1 –