Tkinter实现模拟鼠标单击四位数字验证码自动刷新功能

2023-11-10

目标
用Tkinter实现一个用鼠标点击验证码后自动刷新验证码的功能

分四步实现的思路:
第一步:创建Tkinter窗口,放置一个Label标签和一个Button按钮
第二步:写一组4位的纯数字验证码,打印并在Label标签中显示出来
第三步:写入Button按钮实现验证码刷新功能,换一组验证码
第四步:模拟鼠标左键点击四位数字刷新验证码

最终效果:
在这里插入图片描述

思路有了,代码就出来了

from tkinter import *
import random
import string

root = Tk()
root.title("自动刷新验证码")
root.geometry("350x200+800+300")
root.resizable(0, 0)
'''生成四位数字验证码code()方法'''


def code():
    num = string.digits
    num_digits = ""
    for i in range(4):
        num1 = random.choice(num)
        num_digits = num_digits + num1
    return num_digits


f1 = Frame(root)
f1.pack()
v = StringVar()
v.set(code())


def callback(event):
    print(event.x, event.y)
    v.set(code())


label = Label(f1, cursor="hand2", textvariable=v, width=10, height=2, bg="LightSeaGreen", font="bold")
label.bind("<Button-1>", callback)
label.grid(row=0, column=0, pady=30)


def refresh():
    v.set(code())


Button(f1, text="刷新", command=refresh, cursor="hand2").grid(row=0, column=1, padx=10)

root.mainloop()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tkinter实现模拟鼠标单击四位数字验证码自动刷新功能 的相关文章

  • 你知道怎样做好一个老板吗?先来看看不适合做老板的三种人

    穷人和富人最大的差别就是思维方式的不同 就如之前一直听的一个故事 有个穷人吃不饱穿不暖 就去上帝跟前哀求说 这个世界太不公平了 为什么富人天天悠闲自在 而穷人就要天天吃苦受累 上帝微笑着说 那你觉得怎么样才是公平 穷人说到 要是富人和我一样
  • Ubuntu16.04 安装 显卡驱动 + CUDA + cuDNN + Tensorflow-gpu + Keras + PyCharm

    在Ubuntu16 04上安装 显卡驱动 CUDA cuDNN Tensorflow gpu Keras PyCharm 目的是为了深度学习所用 博主参考了众多资料 最终成功将所有软件安装完毕 且能成功运行使用 因而写下该篇安装教程 供借鉴
  • CPU亲和度

    CPU亲和度 CPU Affinity 就是将一个进程或者线程强制绑定在CPU的某一个core上运行 参考 https www cnblogs com zhangxuan p 6427533 html https www cnblogs c
  • Java_Linux基础:8. 编辑器-vim

    目录 1 vi简介 2 命令行模式 3 文本输入模式 4 末行模式 5 vim基础操作 5 1 进入插入模式 5 2 进入命令模式 6 vim分屏操作 6 1 分屏操作 6 2 启动分屏 6 3 关闭分屏 6 4 编辑中分屏 6 5 分屏编
  • os模块关于路径

    os模块关于路径的几个主要方法 os path 模块路径访问函数 os path basename 去掉目录路径 返回文件名 os path dirname 去掉文件名 返回目录路径 os path split 将路径分为 dirname
  • telnet 访问80端口

    目的 虚拟机上ubuntu telnet 远程访问谷歌80端口 网络设置 宿主机XP 虚拟机 ubuntu 网络连接模式 NAT 操作步骤 1 参考http blog csdn net mifan88 article details 735
  • vscode中误删代码文件恢复

    误删了项目某个文件夹 但是Ctrl z又没回来 就很无语 一般在vscode的这个页面会有你删掉的文件 查看你删掉的文件夹路径 然后git checkout就可以了 git checkout a66e87460a2ea04753dd7f39
  • 微服务六种设计模式

    1 聚合设计模式 聚合设计模式常用于报表服务 在微服务系统中报表服务是肯定存在的 2 代理设计模式 在微服务架构中 代理服务 是必然存在的 常用的代理服务是 网关服务 微服务的各个服务是没有状态的 需要通过统一的入口 代理服务 经过权限的校
  • 计算机数制详解及相互转换(二进制、八进制、十进制、十六进制)

    计算机数制详解及相互转换 二进制 八进制 十进制 十六进制 前言 一 计算机中常用的数制 1 二进制 2 八进制 3 十进制 4 十六进制 二 数制转换 1 十进制转二进制 2 二进制转十进制 3 二进制转八进制 4 二进制转十六进制 5
  • C++关于引用的分析

    目录 1 引用的概念 2 引用的特点 1 引用在定义时 必须初始化 2 一个变量可以有多个引用 3 引用一旦引用了一个实体 再不能引用其他实体 3 引用的应用 3 1 做参数 3 2做返回值 3 2 1 函数栈帧及临时变量 3 2 2 引用
  • mysql的事务是什么 mybatis框架中的事务配置 mybatis中的自动提交事务和手动提交事务 深入理解mybatis事务源码 通过对象的地址来理解mysbaits中的会话 对象的首地址

    目录 什么是事务 百度百科的解释 维基百科的解释 逻辑单元 事务的四大特征 操作事务的演示 在当前事务添加数据后查询 事务回滚 rollback 提交事务 commit mybatis中的事务 配置数据库的db properties 配置c
  • xargs -i参数详解

    学习所需 文章转载过来 xargs与find经常结合来进行文件操作 平时删日志的时候只是习惯的去删除 比如 find type f name log xargs rm rf 就将以log结尾的文件删除了 如果我想去移动或者复制就需要使用参数
  • vue3.0全局和按需引入element-plus

    1 先来看一下未添加element plus的干净项目打包后文件大小 2 全局安装element plus npm install element plus save 在main js里写 import createApp from vue
  • nginx 重启/停止/退出失败

    启动Nginx时候报错 nginx error open usr local nginx logs nginx pid failed 2 No such file or directory 这句话的意思就是 你的nginx pid 打开失败

随机推荐

  • linux tcp优雅关闭,优雅地关闭Socket;检测非正常断开的TCP连接

    转载声明 本文所有版权归原作者所有 如本文原作者不认可转载 请联系本空间删除 相关资源 NA 如何优雅地
  • 集群搭建--安装apache-hive-2.3.4

    本文安装的是 apache hive 2 3 4 bin tar gz 其下载地址为 路径 https pan baidu com s 1ZPJxbGdpjW0fPpKUa7RX6Q 提取码 i58e 解压 apache hive 2 3
  • Hash函数加密算法(一)

    一 使用密码学的目的 保密性 防止用户的标识或数据被读取 l 身份验证 确保数据发自特定的一方 数据完整性 防止数据被更改 二 加密算法的分类 1 对称加密 采用对称秘钥的加密系统加密 解密过程均采用同一把秘钥 通信双方必须同时获得这把钥匙
  • windows操作系统上启用SSLv3协议引发的威胁

    一 主机启用SSLv3协议引发的威胁 远程主机受到称为POODLE的中间人 MitM 信息泄露漏洞的影响 该漏洞是由于SSL 3 0在解密使用密码块链接 CBC 模式下的块密码加密的消息时处理填充字节的方式 二 建议处置措施 处置措施 禁用
  • Linux如何修改ip地址

    参考 3 Ways to change ip address in Linux howtouselinux Ubuntu篇 一 Desktop版方法 如果你使用了Desktop版本或者server版上面加了desktop桌面 那么你就尽量使
  • DELPHI支付宝支付代码

    真实业务场景的考虑 按照支付宝或者微信支付的开发手册的说法 一个标准的客户端接入支付业务模型应该是这样的 我忽略时序图 只用文字描述 用户登录客户端 选择商品 然后点击客户端支付 客户端收集商品信息 然后调用自己业务平台的预付款接口 业务平
  • 基于Jenkins+git+gradle的android持续集成

    本文参考了 http my oschina net uboluo blog 157483 http java dzone com articles automating continuous 以前都是通过IDE eclipse or And
  • PageHelper分页查询数据错乱,有些数据不显示,和数据库查询对不上

    今天遇到一个很意外的错误 使用PageHelper分页查询时 分页的数据总是和数据库查询的对不上 分页代码如下 public ReturnInfo getManage RequestPage
  • 机器学习——几种分类算法的汇总

    https www cnblogs com Zhi Z p 8912396 html
  • Python 字符串的常用方法

    视频版教程 Python3零基础7天入门实战视频教程 下标索引操作和前面的列表 元组用法一样 虽然字符串不能被修改 但是返回一个操作过的新字符串 所以方法还不少 我先学习下常用方法 1 index 元素 方法 查找字符串中指定元素的下标 不
  • Java语言 设计一个动物声音“模拟器”(用接口实现)

    设计一个动物声音 模拟器 希望模拟器可以模拟许多动物的叫声 要求如下 编写接口Animal Animal接口有两个抽象方法cry 和getAnimalName 即要求实现该接口的各种具体的动物类给出自己的叫声和种类名称 编写模拟器类Simu
  • BOX2D 第十章 世界类

    第十章 世界类 Dec 2nd 2012 Comments 声明 此文章翻译自Box2D v2 2 0用户手册 仅供学习参考 关于 About b2World类包含了物体和连接器 它管理了模拟相关的所有方面并且允许异步需求 像AABB需求和
  • kakfa 常见错误(长期更新 2023.09.05)

    kafka版本 2 13 3 40 一 消费者相关 1 1 消费组 1 1 1 查看消费组命令找不到消费组 1 2 消费者 1 2 1 This error handler cannot process org apache kafka c
  • VGGNet网络结构学习

    前言 VGG是Oxford的Visual Geometry Group的组提出的 大家应该能看出VGG名字的由来了 该网络是在ILSVRC 2014上的相关工作 主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能 VGG有两种
  • 查看OpenStack的版本

    show openstack version root localhost openstack version openstack 4 0 2 Using openstack version will only give you the v
  • Linux中如何快速查找并执行之前执行过的命令

    history grep 命令 history 显示的记录行号 回车执行 Ctrl R 输入若干字符 关键词 会搜索包含所输入关键词的历史命令 继续按Ctrl R则会继续向前搜索包含关键词的历史命令 找到目标命令后 可以直接按enter键执
  • windows中将sqlmap添加到环境变量中

    在windows下每次使用sqlmap进行sql注入测试时 都要先进到sqlmap py的目录中 然后执行python sqlmap py url 而作为未来的渗透大佬 怎么能够允许这么low的事情出现 1 添加环境变量 电脑右键属性 高级
  • IDEA 自定义注解(类注释、方法注释)

    文章目录 一 生成类注释 1 打开设置位置 2 将自定义的类注解规则 复制到Class中 3 使用 新建类的时候会自动加上注解 二 自定义方法注解 1 打开设置 2 添加自定义注解模板组 3 添加自定义注解模板 4 设置模板的作用范围 5
  • Python Flask 建站框架入门课程-微课学习-第三章 进阶

    上传文件 用 Flask 处理文件上传很简单 只要确保你没忘记在 HTML 表单中设置 enctype multipart form data 属性 不然你的浏览器根本不会发送文件 已上传的文件存储在内存或是文件系统中一个临时的位置 你可以
  • Tkinter实现模拟鼠标单击四位数字验证码自动刷新功能

    目标 用Tkinter实现一个用鼠标点击验证码后自动刷新验证码的功能 分四步实现的思路 第一步 创建Tkinter窗口 放置一个Label标签和一个Button按钮 第二步 写一组4位的纯数字验证码 打印并在Label标签中显示出来 第三步