QPropertyAnimation 配合QPainter的translate和rotate方法实现环形文字

  • Post author:
  • Post category:其他


一、效果图

在这里插入图片描述

二、工程构造思路

QPainter绘制单个文本,利用translate和rotate方法旋转单个文字到指定弧度。配合QPropertyAnimation即可实现环形文字效果。

三、代码片段

#ifndef ROUNDTXTWIDGET_H
#define ROUNDTXTWIDGET_H

#include <QObject>
#include <QWidget>
#include <QPainter>
#include <QFontMetrics>
#include <QPropertyAnimation>
class RoundTxtWidget : public QWidget
{
   
    Q_OBJECT
public:
    RoundTxtWidget(QWidget *parent = nullptr);
    ~RoundTxtWidget();
    void paintEvent(QPaintEvent *event);
    void startAnimation();
private slots:
    void valueChanged_slot(QVariant value);
private:
    int m_startAngle;
    int m_margin;
    QString m_text;
};



版权声明:本文为u010906468原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。