Qt QGraphicsItem要點 積累


1.在創建QGraphicsItem子類的時候,想要實現自己繪圖,一般是重新實現boundingRect()和paint()函數,如果不重新實現shape(),基類的實現將會退而使用 boundingRect()。

2.boundingRect()這個函數的返回值是一個QRectF(一個正方形的區域),當我們需要處理我們所寫的MyItem接受到的某些事件(比如鼠標按下、拖動等)時,這些事件就被規定只能發生在這個返回的矩形區域    當中時才會起被接收到。

3.函數paint(QPainter*painter,constQStyleOptionGraphicsItem*option,QWidget*/*widget*/)所繪制的內容也只能在這個區域里面畫,畫我們某一個具體的Item的全部內容。

4.shape()所返回的就是我們所繪制的Item的大概形狀。

5.在可能改變QGraphicsItem大小或者形狀的時候,QGraphicsItem子類函數中先調用prepareGeometryChange();

轉:https://www.cnblogs.com/cy568searchx/p/3645279.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM