2010-01-28 55 views
0

我一直在對這個看似簡單的任務感興趣,我真的可以使用一些幫助。 我有一個廣泛的圖像加載在gui(使用設計器..),我想只能繪製它的一部分,一個矩形。 我需要能夠在大圖像上改變這個矩形位置,以便隨意繪製較大圖像的不同部分。在這個過程中,矩形必須保持其大小。Qt - 從較大的Pixmap圖像中繪製矩形/框架

使用Ui :: MainWindow對象我可以訪問持有圖像的標籤,並且涉及使用此選項的解決方案是首選(爲了跟上我已經編寫的其他代碼)

任何解決方案將非常感激:)

感謝,

伊塔馬爾

回答

1

我肯定會(爲便於使用),只需將一個空label作爲設計師的佔位符。

然後爲此標籤實施paintEvent(將其委託給您自己的方法)。您還必須查看QPainter,QPixMap等......應根據這些提示和文檔進行操作。

如果你想要更多,我建議你提供一個小的代碼片段來處理。

+0

感謝您的幫助。 我創建了一個標籤類並重載了paintEvent。 但我的paintEvent從不調用時,我調用repaint()。 另外,當我查詢myLabel-> isVisible()時,雖然它被放置在UI中,但我總是會得到「False」。 – Ita

+0

@Ita:您可能沒有將佔位符標籤提升爲派生類型。 –

0

如果您想通過設計器或多或少地完成此操作,您可以在想要顯示圖像部分的位置放置一個QScrollArea。如果將滾動區域的滾動條策略設置爲不顯示,則可以通過滾動區域小部件手動更改可見部分。但是,創建派生窗口小部件並重新實現繪畫功能可能更復雜。