一、效果图
二、工程构造思路
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 版权协议,转载请附上原文出处链接和本声明。