paint.h
#ifndef PAINT_H
#define PAINT_H
#include <QWidget>
#include <QtWidgets>
class Paint : public QWidget
{
Q_OBJECT
public:
explicit Paint(QWidget *parent = nullptr);
~Paint();
private slots:
void onTimeOut();
private:
QLabel **label;
QTimer *timer;
int colorIndex;
int smooth; // 平滑次数
int count; // 变色次数
int period; // 变色周期(ms)
int colorCount;
int letterCount;
};
#endif // PAINT_H
paint.cpp
#include "paint.h"
static const quint32 color[] = {0xFF0000, 0xFFA500, 0xFFFF00, 0xFF00, 0x7FFF, 0xFF, 0x8B00FF};
static const QString letter = "QWERTYUIOPASDFGHJKL;ZXCVBNM,./";
Paint::Paint(QWidget *parent) : QWidget(parent) {
colorIndex = 0;
smooth = 20;
count = 0;
period = 2000;
colorCount = sizeof(color) / sizeof(quint32);
letterCount = letter.size();
label = new QLabel* [letterCount]