Qt实现登录验证码

示例

先放一下效果图
在这里插入图片描述
每次验证码输入错误或者点击验证码图片都可以进行验证码的刷新
在这里插入图片描述

正文

  • 用到的是QFrame
    需要用到UI里的类提升,自建一个新的设计师类,系统会自动生成.h和.cpp
    我这里的类名用的是Ver,有需要的自行替换即可

Ver.h

#ifndef VER_H
#define VER_H#include <QFrame>
#include <QLabel>
#include <QString>namespace Ui {
class Ver;
}class Ver : public QFrame
{Q_OBJECTpublic:explicit Ver(QWidget *parent = nullptr);~Ver();void generateRandomNumber(); //生成随机的数字和字母void paintEvent(QPaintEvent *); //画噪点和线void mousePressEvent(QMouseEvent *event); //鼠标点击事件QString code;private:};#endif // VER_H

Ver.cpp

#include "ver.h"#include <QPainter>
#include <QStyleOption>
#include <QLineEdit>
#include <QTime>
#include <QChar>
#include <QDebug>Ver::Ver(QWidget *parent) :QFrame(parent)
{//paintEvent();generateRandomNumber();update();
}Ver::~Ver()
{}void Ver::generateRandomNumber()
{code.clear();for(int i = 0;i < 4;++i){int num = qrand()%3;if(num == 0){//数字code += QString::number(qrand()%10);}else if(num == 1){//大写字母int temp = 'A';code += static_cast<QChar>(temp + qrand()%26);}else if(num == 2){//小写字母int temp = 'a';code += static_cast<QChar>(temp + qrand()%26);}}
}void Ver::paintEvent(QPaintEvent *)            //绘画
{QPainter painter(this);QPen pen;//画点for(int i = 0;i < 100;++i) {pen = QPen(QColor(qrand()%256,qrand()%256,qrand()%256));painter.setPen(pen);painter.drawPoint(qrand()%150,qrand()%50);}//画线for(int i = 0;i < 10;++i) {painter.drawLine(qrand()%150,qrand()%50,qrand()%150,qrand()%50);}pen = QPen(QColor(255,0,0,100));QFont font("楷体",25,QFont::Bold,true);painter.setFont(font);painter.setPen(pen);//绘画字for(int i = 0;i < 4;++i) {painter.drawText(10+30*i,5,30,40,Qt::AlignCenter, QString(code[i]));}//ui->ver->setText(code);
}void Ver::mousePressEvent(QMouseEvent *event)
{generateRandomNumber();update();// qDebug() << code << endl;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/63221.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt赋能python:Python抽奖程序代码

Python抽奖程序代码 Python是一种功能强大、易于学习的编程语言。它在数据科学、AI、网站开发等领域有着广泛的应用。本篇文章将会介绍Python抽奖程序代码&#xff0c;演示如何使用Python编写一个简单的抽奖程序。 什么是Python抽奖程序&#xff1f; Python抽奖程序是通过Py…

【观察】智能运维的“下半场”,看云智慧如何“开新局”

毫无疑问&#xff0c;随着数字化转型的加速&#xff0c;越来越多的企业正在把数字化战略提升到一个全新的高度&#xff0c;转型的进程也正从“浅层次”的数字化走向“深层次”的数字化。 也正因此&#xff0c;过去传统的人工运维方式越来越“捉襟见肘”&#xff0c;谋求运维模…

【iMessage苹果推】准入苹果相册推苹果家庭推Apple Texter 无线平台

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件安装 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容安装 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推送 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推送 *** 点击即可查看作者要求内容…

阿里云Aliware首批“铂金合作伙伴”花落谁家?——北京天源迪科当之无愧!!!...

走过路过不要错过 点击蓝字关注我们 6月25日&#xff0c;阿里云企业业务事业部总经理赵杰辉、阿里云企业业务事业部总架构师王晶昱、阿里云企业业务事业部运营商业务部总经理任利明、阿里云企业业务事业部运营商业务总架构师崔飞飞、阿里云解决方案事业部企业服务高级技术专家谭…

EC03-DNC4G通信模块

目录 3.6.1 模块使用 3.6.2 公网IP的服务器地址 3.6.3 AT指令控制模块联网 3.6.4 代码实现 3.6.1 模块使用 说明 基于串口AT指令的开发方式 有两种工作模式&#xff0c;默认是透传模式&#xff0c;通过其他方式进入AT指令模式&#xff0c;后续有说明 注意插卡不要出错&#…

北斗4G遥测终端 北斗4G双模通信遥测终端机

计讯物联北斗4G双模通信遥测终端机TY511信号稳定可靠传输。具备数据采集、定位、北斗通信、全网通4G无线通信、存储、控制、报警多功能。支持国家《水文监测数据通信规约》(ASCII和HEX全项)、《水资源监测数据传输规约》和其他省市特殊规约、SL180-2015水文自动测报系统设备遥测…

多通道振弦传感器无线采集仪发送数据到 TCP 服务器及远程修改参数

多通道振弦传感器无线采集仪发送数据到 TCP 服务器及远程修改参数 1、发送数据到 TCP 服务器 参数配置&#xff08;下列参数位于【 参数配置】 区域内的【 自动模式参数】 和【 GPRS】 面板内&#xff09; 数据发送方式&#xff1a; GPRS TCP 数据包协议&#xff1a;字符串 1.0…

VS系列多通道振弦传感器无线采发仪的数据发送说明

每次设备启动后会将采集到的传感器数据进行内部存储&#xff0c;并在设置好的时间间隔将数据发送出去&#xff0c;通过修改“数据发送方式”参数&#xff0c;监测数据可由数据接口输出也可经由无线网络发送。在发送监测数据时&#xff0c;可通过修改“数据包协议”参数来设置所…

科源制药在创业板注册生效:预计年收入4.5亿元,高元坤为实控人

近日&#xff0c;深圳证券交易所披露的信息显示&#xff0c;山东科源制药股份有限公司&#xff08;下称“科源制药”&#xff09;在创业板的审核状态变更为“注册生效”。换句话&#xff0c;科源制药已经顺利通过注册&#xff0c;距离上市只差临门一脚。 据贝多财经了解&#…

AD7606数据采集模块使用方法

1. 简介 AD7606是一块八通道&#xff0c;双极性输入&#xff0c;同步采样16位ADC。内置2.5V基准电压。由于AD7606没有内部的寄存器&#xff0c;需要直接利用引脚配置ADC的模式&#xff0c;所以AD7606的控制原理也是很简单&#xff0c;但是需要占用的I/O口的资源很多。 输入箝位…

国产数字语音网关鼎信通达DAG系列网关快速配置方法-武汉迈思通信

DAG2000系列4/8/16/24/32FXS语音网关 快速配置手册 1.WEB登陆 设备Lan口默认IP是192.168.11.1/255.255.255.0&#xff0c;用电脑直连设备Lan口&#xff0c;将电脑IP地址改为192.168.11.x网段&#xff0c;然后在浏览器中输入192.168.11.1访问设备WEB。 2.设置IP 一般的情况下&…

安泰ATG-2082功率信号源产品资料

ATG-2082功率信号源产品介绍&#xff1a; ATG-2082是一款理想的可输出正弦波、方波、三角波、脉冲波的双通道功率信号源。客户可根据使用情况选择信号内置、或外置输入。最大输出800Vp-p (400V)电压&#xff0c;可以驱动高压型负载。电压增益数控可调&#xff0c;一键保存常用…

燃气管道定位83KHZ地下电子标识器探测仪ED-8000操作指南

1、电子标识器探测工作 燃气管道定位83KHZ地下电子标识器探测仪ED-8000&#xff0c;探测时周边 3 米范围内不能有其他探测仪&#xff0c;保持探测仪垂直向 下&#xff0c;探测仪的末端距离地面 5~10cm 左右&#xff0c;延估计的埋地管线走向水平移动探测仪。当发现持续信号且信…

是德科技keysight E8257D信号发生器

产品概览 Keysight E8257D (Agilent) PSG 模拟信号发生器提供业界领先的输出功率、电平精度和高达 67 GHz 的相位噪声性能&#xff08;工作频率可达 70 GHz&#xff09;。Agilent PSG 模拟信号发生器的高输出功率和卓越的电平精度通常无需使用外部放大器来测试高功率设备&…

【国产虚拟仪器】基于ZYNQ7045+V7 FPGA的多通道数据同步采集设计方案(二)

多通道数据采集电路主要流程为实现4路模拟信号接收&#xff0c;通过模数转换、信 号处理后的数据经过光纤传输到总站。多通道数据采集电路由模拟信号采集单元、 数字信号处理单元和信号转接板构成&#xff0c;组成框图如图4-1所示。 为了对带宽内的多个关键频点进行侦察监测&a…

燃气管道定位83KHZ地下电子标识器探测仪ED-8000操作说明1

1、功能简要说明 ED-8000地下电子标识器探测仪是华翔天诚推出的一款可支持模拟电子标识器&#xff08;无 ID&#xff09;探测和数字 ID 电子标识器 探测两种工作模式&#xff0c;在模拟电子标识器&#xff08;无 ID&#xff09;探测模式下&#xff0c;可探测 所有按标准频率生…

【国产虚拟仪器】基于ZYNQ7045+V7 FPGA的多通道数据同步采集设计方案(一)

多通道数据采集设备在当前信息数字化的时代应用广泛&#xff0c;各种被测量的信息 如光线、温度、压力、湿度、位置等&#xff0c;都需要经过多通道信号采集系统的采样和 处理&#xff0c;才能被我们进一步分析利用[37]。在一些对采集速率要求较高的军事、航天、 航空、工业制造…

【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上)

系列文章目录 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(中) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate…

chatgpt赋能python:Python中文版的重要性

Python中文版的重要性 作为一种流行的编程语言&#xff0c;Python已经成为了很多计算机科学家和开发者的首选编程语言。然而&#xff0c;对于许多人来说&#xff0c;英文不是他们的母语&#xff0c;这就导致了理解和学习Python变得更加困难。因此&#xff0c;Python的中文版逐…

申请微信公众号,当前绑定的银行卡暂不支持实名验证...

2019独角兽企业重金招聘Python工程师标准>>> 申请改名微信公众号&#xff0c;让微信扫描二维码&#xff0c;扫描完了后&#xff0c;提示“当前绑定的银行卡暂不支持实名验证”。 看了下说明&#xff0c;招商&#xff0c;农行等等几个少数的银行卡不支持实名认证。…