Qt转动轮播图的实现方法-创新互联

这篇文章主要讲解了Qt转动轮播图的实现方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联主营市中网站建设的网络公司,主营网站建设方案,app开发定制,市中h5微信小程序搭建,市中网站营销推广欢迎市中等地区企业咨询

Qt轮播图的实现代码,供大家参考,具体内容如下

qt轮播图简单的实现,功能会在后面完善

效果图:

Qt转动轮播图的实现方法

这里我是用了QGraphicsScene+QGraphicsView+QGraphicsObject,其中对QGraphicsView和QGraphicsObject进行继承派生类功能进行了添加。时间有限,直接贴上关键代码部分供大家参考。

//pictrueitem.h
#ifndef PICTRUEITEM_H
#define PICTRUEITEM_H
#include 
#include 
#include 
#include 
class PictrueItem : public QGraphicsObject
{
  Q_OBJECT

public:
  explicit PictrueItem(QGraphicsItem *parent = Q_NULLPTR);
  explicit PictrueItem(const QPixmap &pixmap, QGraphicsItem *parent = Q_NULLPTR);
  virtual ~PictrueItem();
  void setPixmap(const QPixmap &pixmap);
  QPixmap pixmap() const;
  virtual QRectF boundingRect() const;
  void setTransformationMode(Qt::TransformationMode mode);
  QPointF offset() const;
  void setOffset(const QPointF &offset);
  virtual int type()const;
  void setType(int type);
  int itemId()const;
  void setItemId(int id);

protected:
  void mousePressEvent(QGraphicsSceneMouseEvent *event);

  void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);

  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);

Q_SIGNALS:

  void clicked();
  void clickedId(int);

private:

  QPointF pressedScenePoint;
  QPointF m_offset;
  QPointF m_pos;
  Qt::TransformationMode mode;
  QPixmap m_pixmap;
  bool isPressed;
  int m_type;
  int m_id;
  qreal m_pointPercent;
};

#endif // PICTRUEITEM_H

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:Qt转动轮播图的实现方法-创新互联
网站链接:http://hbruida.cn/article/hoigd.html