简述
由于最近博主准备做的一个播放器,在模拟登录/注册的时候,想做一个验证码的功能。在博主参考了部分网上资料后准备自己总结一个基于Qt的验证码是生成方式。
关于验证码
- 验证码必须随机生成。
- 验证码必须有一定的识别难度。
关于解决方案
- 随机产生目标验证码。
- 验证码中的字符颜色随机变化。
- 在验证码区域随机绘制噪点。
- 利用已有组件进行重新实现。
头文件
#ifndef VERIFICATIONCODELABEL_H
#define VERIFICATIONCODELABEL_H
////这是一个继承QLabel从而用来实现验证码功能的标签
#include <QLabel>
class VerificationCodeLabel : public QLabel
{
Q_OBJECT
public:
VerificationCodeLabel(QWidget *parent=0);
~VerificationCodeLabel();
//返回一个字符串(字母一律都按照大写返回)
QString getVerificationCode() const;
public slots:
//公共槽函数
//刷新验证码,在用户不确定的时候进行相应刷新
void slt_reflushVerification();
protected:
//重写绘制事件,以此来生成验证码
void paintEvent(QPaintEvent *event);
private:
const