qgraphicsitem

    0热度

    1回答

    我很困惑Qt如何在我的自定义元素上存储职位。我从QGraphicsRectItem继承,并在图形视图中看到“Page”项目,但是我注意到当我尝试从pos()或scenePos()访问它们的位置时,它们都返回(0,0),即使它们都是在视图中的不同位置。我不确定我是否完全误解了一切的相对定位,但我认为这两个函数中至少有一个会返回不同的东西。 class Page(QtGui.QGraphicsRect

    0热度

    1回答

    在这种情况下,您需要帮助移动对象,qgraphicpixmapitem使用键盘来抛出一个场景。这是我的代码,我需要添加什么方法来处理移动事件? 感谢 class Object(QtGui.QGraphicsPixmapItem): def __init__(self, parent=None): QtGui.QGraphicsPixmapItem.__init__(self,

    1热度

    1回答

    我想实现所选项目的旋转。我已经注意到,有2个函数 - 旋转()执行立即行动,但不保存项目的旋转 - 和setRotation(),它存储旋转()(尽管它需要重绘导致事件) 。 如果我选择一个项目,并旋转它,我可以设置 selectedItem->setRotation(selectedItem->rotation() + deg); 这允许项目来存储它的旋转,当我需要把它复制到另一个场景,该项

    0热度

    1回答

    我真的在泡菜,我急需帮助。我试图在QGraphicsScene子类中收集项目的某些属性(QGraphicsitem子类的实例)。此代码是在DiagramItem类恰恰在双击事件: DiagramItem *cur; QVector<QString> hal; foreach(QGraphicsItem *item, this->scene()->items()) { cur = q

    0热度

    1回答

    朋友你好,我调整大小和使用setTransform - 方法的QGraphicsItem旋转QGraphicsItem,我绘制任意形状的QGraphicsItem在其paint - 方法,当我使用setTransform法边境扩展项目QGraphicsItem也变得更厚,我设置名称为QGraphicsItem,它也按比例因子变大。那么有没有什么方法可以在paint method中使用drawtex

    0热度

    1回答

    我想继承一些QGraphicsItem类: 为QGraphicsTextItem我怎么确定boundingRect()和shape()? 我想创建一个boundingRect出textWidth()和......? 显然,在paint(...)我也有指定我必须绘制矩形...,我想我解决它只需使用 QRectF TextItem::boundingRect() const { qreal

    2热度

    1回答

    我很少关心QTransform尺度与QGraphicsItem的boundingRect()方法中的宽度和高度返回值之间的关系。 其实我想缩放QGraphicsItem作为其boundingRect大小。即如果我的项目的大小最初是100,100,那么我在通过boundingRect()方法传递后,我将通过mousemove事件增加项目的大小。如果我的宽度和高度分别增加400,300是我的比例因子4

    2热度

    1回答

    我正在QGraphicsScene上添加项目。一旦添加,项目可能会被进一步处理。 我想跳过被其他物品完全遮挡的物品。似乎有几个QGraphicsItems致力于这项任务。 给定两个QGraphicsItem对象,在一个矩形的形状,在尺寸相同的,仅由颜色不同的,并且每个具有相同boundingRect(),每个在完全相同的pos(),但具有不同的zValue(): for(int i = 0; i

    0热度

    1回答

    我正在开发一个小型无人机的地面控制站,在那里我试图添加一个函数来从文件加载航点。 每个航点都是QGraphicsScene上的QGraphicsItem。 然而,当有文件中超过100点,创造需要2秒以上... 有什么办法更快地做到这一点?

    0热度

    1回答

    我想要做的是删除或更新QGraphicsSimpleTextItem的文本值,我将其添加到QGraphicsItem,但由于某些原因文本不更新,但它在创建的项目中累积。这是我做了什么,现在: void DiagramItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) { if (event->button() !=