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

本文介绍了一种解决QGraphicsTextItem点击事件区域过小的问题的方法,通过重写shape函数,使控件的点击响应区域与文本区域大小一致,适用于需要自定义图形文本项的场景。

1749

被折叠的 条评论
为什么被折叠?



