当我们需要继承QGraphicsTextItem实现自己的控件时,往往会遇到这个问题:明明文本区域很大,boundRect也返回了正确的矩形,但item却始终只有一小部分区域可以获得点击事件。
刚刚测试出一种方法,就是重写shape函数,使其返回一个和boundRect一样大小或者其他你想要的矩形!
QPainterPath DSFTextItem::shape() const
{
QPainterPath path;
path.addRect(mboundingRect);
return path;
}