qgraphicsitem相关内容
最终编辑 我解决了这个问题,并在下面发布了一个解决方案作为答案。如果您无意中从Google找到了一种合适的方式来通过ItemIsMovable标志移动QGraphicsItems/QGraphicsObject,同时避免与其他节点发生冲突,我在答案的末尾提供了一个有效的itemChange方法。 我最初的项目涉及将节点捕捉到任意网格,但这很容易删除,并且根本不是此解决方案工作所必需的。
..
我在场景中有多个QGraphicsItem,分布在场景的不同部分。在应用中,有不同的模式,其中一种模式是用户可以滚动场景(手掌拖动模式)。 若要在场景I上滚动,请将QGraphicsView的dragMode设置为ScrollHandDrag。 但问题是,当用户尝试通过在任何QGraphicsItem上拖动(MousePress和MouseMove)来滚动场景时,它会移动QGraphicsI
..
我有一个 TextItem 继承了 QGraphicsTextItem.我这样做是为了在双击时我可以编辑文本,当单击时,文本不再可编辑. void TextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent * event){setTextInteractionFlags(Qt::TextEditorInteraction);设置焦点();i
..
我创建了从 QGraphicsItem 继承的自定义类 (CustomObject).我使用这些对象在场景上绘制(矩形、多边形和其他东西),并将指向它们的指针存储在 QList 中.现在我需要在 tableView 中显示我所有的 CustomOBjects,但有两个条件: 当我在 tableview 中选择对象并与之交互时 - 我必须能够与它表示的“真实"CustomObject 交互(例
..
我希望能够基于其中心旋转 QGraphicsItem,并基于左上角缩放它. 当我尝试结合旋转和缩放时,该项目显然也在移动... #include #include #include void testTransformations(QGraphicsScene* s){qreal 角度 = 30,scaleX = 2,scaleY = 1;//参考旋转未缩放QGraphicsTextIte
..
我正在尝试旋转 QGraphicsPixmapItem 子项.对于其他 QGraphicsItem,旋转和缩放工作正常.但是对于 QGraphicsPixmapItem,如果尺寸不保持纵横比,我会得到剪切而不是旋转. 示例代码: #include #include #include #include #include int main(int argc, char *argv[]){QGr
..
我想实现所选项目的轮换. 我注意到有 2 个函数 - rotate() 执行立即操作但不保存项目的旋转 - 和 setRotation() 存储旋转()(尽管它需要重新绘制导致事件). 如果我选择单个项目并旋转它,我可以设置 selectedItem->setRotation(selectedItem->rotation() + deg); 这允许项目存储其旋转,当我需要将其复制到
..
我无法理解如何将缩放和旋转应用于 QGraphicsItem. 我需要能够应用旋转和缩放(不一定保持纵横比)并且我得到了完全出乎意料的结果. 旋转必须围绕项目中心.我这样做似乎没有问题 - 但是如果我尝试调试边界矩形,我会得到看似错误的值. 如果我不保持纵横比,而不是旋转,我会得到一个非常奇怪的歪斜,我一直在努力寻找原因并纠正它.我希望任何人都可以找到解决方案. 对于许多项
..
假设您已经在 C++ 中创建了以下自定义 QGraphicsRectItem: class MyCustomItem : public QGraphicsRectItem{上市:MyCustomItem(MyCustomItem* a_Parent = 0);虚拟 ~MyCustomItem();//具体方法私人的://具体数据}; 还假设您在 QML 脚本中定义了一个 Application
..
我已经将 qgraphicsscene 子类化并尝试将鼠标坐标放入“正常"函数中.我只让它在“鼠标参与"功能上工作.抱歉,我是业余程序员. 例如这里的scenePos() 工作: void mousePressEvent(QGraphicsSceneMouseEvent *event){//qDebug() modifiers() == Qt:
..
我在 QGraphicsScene 中有一个 QGraphicsPixmap 项目.该项目的标志设置为 ItemIsMovable 和 ItemIsSelectable.我如何确保当项目移出某个边界时 - 它可以是 QGraphicsScene 或只是固定坐标处的固定帧大小 - 部分会隐藏? 例如. 篮球的左侧部分变得隐藏起来. 解决方案 必须使用setClipPath().
..
我在 qt 的网站和此处查看了一些资源,但无法解决我的问题. 我正在尝试在鼠标单击时在 QGraphicsScene 上绘制一个矩形,我希望新矩形正好在用户单击的位置居中,但这在场景足够大之前不起作用. 这是我尝试过的 在MainWindow.cpp MainWindow::MainWindow(QWidget *parent) :QMainWindow(父),用户界面(新用户
..
要在 QGraphicsView 中调整项目大小,我m 将表示顶点的子项放到要移动的项上(使用在构造函数中建立的父子关系).这些是下图中的四个蓝色圆圈: 但是子顶点没有接收鼠标事件.只有父项(红色方块)正在获取鼠标事件. 这是Item的定义: Item::Item(QGraphicsItem * parent) :QGraphicsItem(父){setFlag(ItemIsMova
..
如果我按下左键移动鼠标,我想移动我的 SimpleItem 对象.如果我按下对象,我已成功获取鼠标光标的位置.但我不知道如何将项目移动到该位置.你能帮我吗? 导入系统从 PySide2 导入 QtGui、QtWidgets、QtCore类 SimpleItem(QtWidgets.QGraphicsItem):def __init__(self):QtWidgets.QGraphicsItem.
..
这可能是什么原因?当我放大 QGraphicsView 并移动 QGraphicsItem 时,我得到了这个奇怪的结果.如果我再次缩放或平移视图或者我专注于其他小部件,它会更新.我使用 PySide.而painter函数就是这个 defpaint(self,painter,option,widget):如果 self.isSelected():画笔 = self.highlight_brushp
..
这可能是一个非常无知的问题. 我一直在尝试找出 QGraphics*,并且在尝试相对于 QGraphicsView. class MainWindow(QMainWindow,myProgram.Ui_MainWindow):def __init__(self):super().__init__()self.setupUi(self)self.scene = QGraphicsScene(
..
我正在尝试使用 PySide 在 python 中创建类似于 terragens 节点网络视图的内容. 我使用此代码对 QGraphicsRectItem 进行了子类化. 类节点(QGraphicsRectItem):def __init__(self,pos):QGraphicsRectItem.__init__(self,pos.x()-100,pos.y()-30,200,60)self
..
我使用的是 Python 2.7 和 PyQt4.我试图有一个 QGraphicsItem 的半圆对象.我希望能够通过单击和拖动使用鼠标移动它.我可以通过设置标志 ItemIsMovable 来创建对象并用鼠标移动它.现在半圆自由移动,但我希望它围绕固定的中心点移动.很难描述,但它应该是类似于表盘的东西.我怎样才能做到这一点? 解决方案 您可以使用 QGraphicsItem::mouse
..
https://www.dropbox.com/s/phven3rriv36893/graphicsview-pathitem.png?dl=0我想知道是否有办法让我的 QGraphicsPathItem 响应 mouseHoverEvents 到实际曲线而不是文档中看到的整个橙色区域. https://www.dropbox.com/s/7m8w34nitp34sgf/pipe.png?d
..
我想做一个类似 hud 的东西.我有一个带有巨大 QPixmap 的 QGraphicsScene,我将它添加到一个小得多的 QGraphicsView.现在我需要添加一些控制元素,例如 QLabel、QPushButton 和 QGraphicsEllipseItem.那,我认为,不是问题.我发现这个有用的页面 Graphics View Classes.但是我如何将这个控制元素锚定到 View
..