QT GraphisView框架绘制图片

目录

 1. 简介

 2. 代码示例


 1. 简介

        QT4.2开始引入了Graphics View框架用来取代QT3中的Canvas模块,并作出了改进,Graphics View框架实现了模型-视图结构的图形管理,能对大量图元进行管理,支持碰撞检测,坐标变换和图元组等多种方便的功能。在开发中常会遇到绘制图片的需求,现将代码分享如下:

 2. 代码示例

头文件:

	class ImageItem : public QGraphicsPixmapItem
	{
	public:
		explicit ImageItem(QGraphicsItem *parent = Q_NULLPTR);

		void movePos(QPointF pos, QRectF labelRect);
		void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
	private:

	};

cpp文件

ImageItem::ImageItem(QGraphicsItem *parent)
	: QGraphicsPixmapItem(parent)
{
	this->setPixmap(QPixmap(":/image/Common/dataframe.png", "png"));
}

void ImageItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
	painter->setPen(Qt::NoPen);
	painter->drawRect(boundingRect());

	QGraphicsPixmapItem::paint(painter, option, widget);
}

void ImageItem::movePos(QPointF pos, QRectF labelRect)
{
	qreal deltaX = (boundingRect().width() - labelRect.width()) / 2;
	qreal deltaY = (boundingRect().height() - labelRect.height()) / 2;

	setPos(pos + QPointF(-deltaX, -deltaY));
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值