Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QGraphicsRectItem在Qt中的阴影效果_Qt_Qgraphicsview_Qgraphicsitem - Fatal编程技术网

QGraphicsRectItem在Qt中的阴影效果

QGraphicsRectItem在Qt中的阴影效果,qt,qgraphicsview,qgraphicsitem,Qt,Qgraphicsview,Qgraphicsitem,我在一个场景上有一个QGraphicsRectItem。我打算在场景上拖放此窗口。当rect项到达左边界端时,我必须显示它从右端出现。目前我正在使用两个对象,通过计算场景的边界来隐藏和显示它们,这涉及到大量的计算。 有没有更好的方法来实现同样的效果,只使用一个单一的对象 谢谢您可以使用横跨整个场景的单个项目,并在其绘制方法中绘制矩形(或其两部分) 但是,您将失去对BSP树的优化,即使重新绘制一些不相关的区域,您的项也会重新绘制。如果这只是一个项目,我想它不会有太大的影响 您需要使用mousemo

我在一个场景上有一个QGraphicsRectItem。我打算在场景上拖放此窗口。当rect项到达左边界端时,我必须显示它从右端出现。目前我正在使用两个对象,通过计算场景的边界来隐藏和显示它们,这涉及到大量的计算。 有没有更好的方法来实现同样的效果,只使用一个单一的对象


谢谢

您可以使用横跨整个场景的单个项目,并在其绘制方法中绘制矩形(或其两部分)

但是,您将失去对BSP树的优化,即使重新绘制一些不相关的区域,您的项也会重新绘制。如果这只是一个项目,我想它不会有太大的影响

您需要使用mousemove事件等实现您自己的拖动,虽然这不是很多代码,但您只需要正确地执行即可