qgraphicsitem 复制副本_如何在pyqt5中复制粘贴Qgraphicsitem?

本文介绍了在PyQt5中遇到的QGraphicsItem复制和粘贴的问题。通过创建GraphicsSceneClass和MainWindow类,实现了鼠标点击事件、上下文菜单事件以及复制和粘贴功能。在复制过程中,将QGraphicsItem转换为QGraphicsPixmapItem或QGraphicsPathItem,并在粘贴时设置新位置。然而,目前的实现存在一个问题:粘贴第二个实例时会删除第一个实例。作者寻求解决方案以正确地多次粘贴复制的QGraphicsItem而不覆盖原有实例。
摘要由CSDN通过智能技术生成

在场景中复制粘贴QGraphicsitem时遇到问题。

我尝试了以下代码,但它不能正常工作。

如果我尝试粘贴项目,第一个实例就是正确粘贴。对于第二个实例,它删除第一个实例项并粘贴第二个实例。在

到目前为止,我已经尝试在复制操作中获取项目的路径,并将其添加到粘贴操作中的场景中。在

@pos2是我的格子位置

我只想粘贴复制的项目n次,直到新项目被复制。如果我复制粘贴的方式不对,请纠正我。在from PyQt5.QtCore import (QByteArray, QDataStream, QIODevice, QMimeData, QPointF, QPoint, Qt, QRect,QTimer,QLineF, QEvent,QRectF)

from PyQt5.QtGui import QColor, QDrag, QPainter, QPixmap,QFont,QFontMetrics,QBrush, QLinearGradient, QIcon, QPen, QPainterPath, QTransform,QCursor,QMouseEvent,QClipboard

from PyQt5.QtWidgets import QApplication,QGraphicsTextItem,QGraphicsItemGroup, QSizePolicy, QScrollArea, QPushButton,QLineEdit, QMainWindow,QInputDialog, QGraphicsPathItem,QDialog, QVBoxLayout,QGraphicsItem,QStatusBar,QTextEdit, QAction,QMenu, qApp,QSplitter, QButtonGroup, QToolButton, QFrame, QHBoxLayout, QGraphicsView, QGraphicsItem, QGraphicsPixmapIt

QGraphicsItem类是Qt用于创建图形项的基类。它提供了一些用于处理图形项的方法和属性。关于复制副本的问题,可以使用QGraphicsItem的clone()方法来创建一个图形项的副本。这个方法会返回一个新的QGraphicsItem对象,它与原始图形项具有相同的属性和状态。你可以在复制副本之后对其进行进一步的修改或操作。要注意的是,clone()方法只会复制图形项本身的属性,而不会复制与之相关联的任何其他对象或数据。因此,如果你想复制与图形项相关联的字体或格式化大小等属性,你需要在复制副本之后手动设置这些属性,例如使用setFont()方法。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* [QT学习笔记6:常见的 QGraphicsItem](https://blog.csdn.net/weixin_40008339/article/details/111846452)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [如何在pyqt5复制粘贴Qgraphicsitem?](https://blog.csdn.net/weixin_36431489/article/details/113995360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值