qgraphicsitem 复制副本_QT学习笔记6:常见的 QGraphicsItem

QGraphicsItem是Qt图形视图框架的基础,用于创建自定义图形元素。本文介绍了QGraphicsItem的常见子类,如QGraphicsSimpleTextItem、QGraphicsTextItem、QGraphicsLineItem等,详细阐述了每个子类的功能、用法和属性设置,帮助理解如何在QGraphicsScene中添加和操作各种图形元素。
摘要由CSDN通过智能技术生成

简述

QGraphicsItem 类是 QGraphicsScene 中所有 item 的基类。

它提供了一个轻量级的基础,用于编写自定义 item。其中包括:定义 item 的几何形状、碰撞检测、绘制实现、以及通过其事件处理程序进行 item 的交互,QGraphicsItem 是 Qt之图形视图框架 的一部分。

常见的 QGraphicsItem

为方便起见,Qt 为最常见的形状提供了一组典型的标准 item。它们是:

QGraphicsSimpleTextItem:提供了一个简单的文本标签项

QGraphicsTextItem:提供了一个格式化的文本项

QGraphicsLineItem:提供了一个直线项

QGraphicsPixmapItem:提供了一个图像项

QGraphicsRectItem:提供了一个矩形项

QGraphicsEllipseItem:提供了一个椭圆项

QGraphicsPathItem:提供了一个路径项

QGraphicsPolygonItem:提供了一个多边形项

QGraphicsSimpleTextItem

详细描述

QGraphicsSimpleTextItem 提供了一个简单的文本标签项,可以添加到 QGraphicsScene 中。

要设置 item 的文本,可以传递 QString 到 QGraphicsSimpleTextItem 的构造函数,或在之后调用 setText() 来更改文本。要设置文本填充色,调用 setBrush()。

QGraphicsSimpleTextItem 可以具有填充和轮廓,setBrush() 用于设置文本填充(即文本色),setPen() 用于设置绘制文本轮廓的画笔(后者可能很慢,特别是对于复杂的画笔,以及具有长文本内容的 item)。

如果只想绘制一行简单的文本,只需要调用 setBrush(),不需要设置画笔。QGraphicsSimpleTextItem 的画笔默认是 Qt::NoPen。

QGraphicsSimpleTextItem 使用文本的格式化大小和相关联的字体,为 boundingRect()、shape() 和 contains() 提供了一个合理的实现。可以通过调用 setFont() 设置字体。

QGraphicsSimpleText 不显示富文本,相反,可以使用 QGraphicsTextItem,它提供全文控制功能。

示例

代码

voidTOPIScanningGUI::My()

{

QGraphicsSimpleTextItem*pItem = newQGraphicsSimpleTextItem();

pItem->setText("这是一个QGraphicsSimpleTextItem");

QFont font= pItem->font();

font.setPixelSize(20); //像素大小

font.setItalic(true); //斜体

font.setUnderline(true); //下划线

pIte

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值