2012-03-10 115 views
1

我還沒有找到確切的問題。圖片上的Qt文本編輯器

我有一張圖片,爲了示例的緣故,它可能是空白的,或者包含我想添加花哨說明的內容。我想在圖片的頂部添加文本編輯工具(類似於Photoshop)。

我在考慮繼承QGraphicsScene,並在按下文本放置按鈕時在場景中放置了一個子類型爲QTextEdit的對象。然後,當你點擊這個對象上,除可編輯文本,其他文本編輯工具可用 - 所以你可以設置文字粗體,斜體的部分,修改顏色,大小等,然後你就可以改變該對象的位置 - 我認爲這在QGraphicsScene默認情況下可用。而對於背景QBrush,則會有背景圖片。

這是一個合理的解決方案?

也許有這樣任何現成可用的例子,但我還沒有找到他們沒有。

回答

1

我的解決方案

文本資料: 對於文本的項目,我用QGraphicsScene一個子類QGraphicsTextItem。對於背景圖像,我使用的QGraphicsRectItemQBrush和使用QImage方法加載的圖片。

編輯此所選文本的部分子類QGraphicsTextItem: QTextCharFormat加我的子類QGraphicsTextItem使用QGraphicsTextItem::textCursor().mergeCharFormat(...)來。通過這種方式,我可以在選擇時更改格式,例如粗體,斜體等。

一些更多的一樣的東西: 平移和現場周圍的放大,我使用Vpicaver完整的源代碼的優秀導遊從http://www.qtcentre.org/wiki/index.php?title=QGraphicsView:_Smooth_Panning_and_Zooming