2013-10-28 70 views
0

我正在嘗試爲繪圖中的特定問題構建一個小應用程序。工作流程如下:草圖/繪圖應用程序的小部件

  • 在現場,使用指南針和捲尺來獲取地形數據。
  • 也在該領域中,繪製使用Inkscape的被調查
  • 情節,創建草圖
  • 的矢量繪圖緊縮的數據,以獲得相關的信息(已實現)
  • 把向量和數據一起(主要是扭曲和縮放繪圖 - 已經實施)

現在,我想要做的矢量化,這是我正在做的Inkscape中現在,直接在我的自定義應用程序 - 這有助於我刻畫草圖更快。

我看看Inkscape中和Karbon的代碼庫,但負責該繪製曲線和路徑,與整個用戶交互部分沿控件的代碼,是相當複雜。我想堅持數字搗固,並確保工作正常。

總之,我正在尋找類似QWT(偉馳提供了繪製公用事業),但針對添加矢量繪圖/素描功能的應用程序。那麼這將是一個將GUI部件放在一起的問題,我可以自由地擔心數字運算。到目前爲止,我找不到像這樣的東西--Inkscape,Karbon,Libreoffice,Printdesign,Gimp,他們都使用它們框架的圖形原語來實現他們自己的路徑,曲線小部件,並添加顯示隨曲線移動的所有代碼鼠標,控制點等

沒有人有一個想法,如果有更高一級的圖形,預製的框架 - 存在 - 這讓我忘了GUI代碼? 謝謝!

回答

1

QGraphicsSceneQGraphicsView提供足夠你相當簡單實現它的其餘部分。請注意,Qt有一組相當豐富的圖形基元,您可以重複使用,例如貝塞爾曲線,路徑等。您需要實現特定於應用程序的位,但基本操作已完成。

+0

感謝您的回答!我已經閱讀了一些你的帖子,總是非常有用!的確,Qt類提供的綽綽有餘 - 這正是Karbon所使用的。但讓我們舉個例子:bezier曲線基元就是這樣,所有實際繪製用戶所看到的代碼(曲線在移動鼠標,控制點和所有重新繪製時移動)必須寫在頂部那。這是我試圖通過使用預先編寫的代碼逃避.. – Renato

+0

你談論的代碼是,很幸運,相當微不足道。它不容易被泛化,因爲每個應用程序都有自己的需求 - 它提供了什麼原語,它如何讓它們與它們交互,等等。 –

+0

那麼,要恢復它,那麼目前沒有這樣的小部件集。很遺憾。不管怎麼說,還是要謝謝你! – Renato