當我們需要繼承QGraphicsTextItem實現自己的控件時,往往會遇到這個問題:明明文本區域很大,boundRect也返回了正確的矩形,但item卻始終只有一小部分區域可以獲得點擊事件。
剛剛測試出一種方法,就是重寫shape函數,使其返回一個和boundRect一樣大小或者其他你想要的矩形!
QPainterPath DSFTextItem::shape() const
{
QPainterPath path;
path.addRect(mboundingRect);
return path;
}