boundingRect我觉得你可以这么理解 这个就是你的widget和Qt框架之间的约定 也就是说你的这个widget在这个Rect内发生了update或变化 会触发Qt对这部分进行绘制 像Qt这样的 都是按需重绘区域的
试过的,重载了了MouseMoveEvent函数,item就没法拖动了,应该是鼠标移动时候自动调用了event函数,item就没法动了
[quote=引用 2 楼 qq_16982701 的回复:] [quote=引用 1 楼 foruok 的回复:] boundingRect说君子协定,你告诉 QGraphicsScene 你的 Item 这么大。scene会根据它来检测 item 之间的碰撞、重叠等。所谓君子协定,并没有强制你必须在这个 boundingRect 内绘制,你画在外面, scene 也不管你啊,除非指定了特殊标记。 要在绘制过程中动态改变 boundingRect ,自己计算大小,在 boundingRect 方法中返回即可。 博客之星,投foruok一票。
[quote=引用 1 楼 foruok 的回复:] boundingRect说君子协定,你告诉 QGraphicsScene 你的 Item 这么大。scene会根据它来检测 item 之间的碰撞、重叠等。所谓君子协定,并没有强制你必须在这个 boundingRect 内绘制,你画在外面, scene 也不管你啊,除非指定了特殊标记。 要在绘制过程中动态改变 boundingRect ,自己计算大小,在 boundingRect 方法中返回即可。 博客之星,投foruok一票。
boundingRect说君子协定,你告诉 QGraphicsScene 你的 Item 这么大。scene会根据它来检测 item 之间的碰撞、重叠等。所谓君子协定,并没有强制你必须在这个 boundingRect 内绘制,你画在外面, scene 也不管你啊,除非指定了特殊标记。 要在绘制过程中动态改变 boundingRect ,自己计算大小,在 boundingRect 方法中返回即可。 博客之星,投foruok一票。
[quote=引用 4 楼 qq_16982701 的回复:] 试过的,重载了了MouseMoveEvent函数,item就没法拖动了,应该是鼠标移动时候自动调用了event函数,item就没法动了
16,229
社区成员
26,610
社区内容
加载中
试试用AI创作助手写篇文章吧