python+pyqt实现12306图片验证效果
作者:飞奔的猫 发布时间:2023-11-02 07:28:18
标签:python,pyqt,验证
本文实例为大家分享了python实现12306图片验证效果的具体代码,供大家参考,具体内容如下
思路:在鼠标点击位置加一个按钮,然后再按钮中的点击事件中写一个关闭事件.
#coding:utf-8
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from push_button import *
from PIL import Image
class Yanzheng(QWidget):
def __init__(self,parent=None):
super(Yanzheng,self).__init__(parent)
self.m_start_point=0 #x坐标
self.m_end_point=0 #y坐标
self.coordinate=[]
self.codeimage="./img/code.png"
self.connect(self,SIGNAL("addlable"),self.addpic)
self.main_layout=QFormLayout()
self.setLayout(self.main_layout)
self.resize(293,190)
self.pixmap=QPixmap("./img/cur.png")
def addpic(self):
print self.m_start_point,self.m_end_point
xpoint=self.m_start_point
ypoint=self.m_end_point-28
codepng2 = PushButton(self)
codepng2.loadPixmapreal('./img/cur.png')
codepng2.setGeometry(self.m_start_point,self.m_end_point,30,30)
codepng2.show()
#self.emit(SIGNAL("dellabel"),self.codepng2)
self.coordinate.append("%s,%s" %(xpoint,ypoint))
self.connect(codepng2,SIGNAL("clicked()"),lambda:self.dellabel(codepng2,xpoint,ypoint))
#self.update()
#删除标记
def dellabel(self,q,x,y):
print x,y
self.coordinate.remove("%s,%s" %(x,y))
q.close()
def mousePressEvent(self,event):
if (event.type()==QEvent.MouseButtonPress):
self.m_start_point = event.pos().x()-12
self.m_end_point= event.pos().y()-12
self.emit(SIGNAL("addlable"))
def paintEvent(self, event):
p = QPainter(self)
p.drawPixmap(0,0,QPixmap(self.codeimage))
if __name__=='__main__':
import sys
app=QApplication(sys.argv)
inputurl=Yanzheng()
inputurl.show()
sys.exit(app.exec_())
效果图:
来源:http://blog.csdn.net/jylonger/article/details/50903721
0
投稿
猜你喜欢
- python自带日志管理模块logging,使用时可进行模块化配置,详细可参考博文Python日志采集(详细)。但logging配置起来比较
- 表分区是最近才知道的哦 ,以前自己做都是分表来实现上亿级别的数据了,下面我来给大家介绍一下mysql表分区创建与使用吧,希望对各位同学会有所
- Redis 除了做缓存,还能干很多很多事情:分布式锁、限流、处理请求接口幂等性。。。太多太多了配置首先我们创建一个 Spring Boot
- 索引初识最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。CREATE TABLE mytable
- 我们前面介绍的Selenium的WebDriver测试方法是基于网页来进行的。之前的例子都是用简单的网页来操作,可能体会不到网页的加载过程,
- 单例模式是一种常见的设计模式,它在系统中仅允许创建一个实例来控制对某些资源的访问。在 Go 语言中,实现单例模式有多种方式,本篇文章将带你深
- 微信小程序image组件binderror使用例子(对应html、js中的onerror)官方文档 binderrorHandle
- 前言首先需要知道的是,js中有6个值为false,分别是: 0, '', null, undefined, NaN 和 fa
- 关于conda安装matplotlib报错最近在师姐机器上跑实验的时候,想利用matplotlib包来绘制损失曲线图,安装过程中碰到了一些小
- 本文实例讲述了PHP类的特性。分享给大家供大家参考,具体如下:对象向下传递特性当一个对象调用一个实例方法,然后在该方法中又去静态调用另一个类
- 研究了一段时间酷狗音乐的接口,完美破解了其vip音乐下载方式,想着能更好的追求开源,故写下此篇文章,本文仅供学习参考。虽然没什么
- 删除重复记录,将TABLE_NAME中的不重复记录保存到#TABLE_NAME中select distinct&nbs
- 用游标,和WHILE可以遍历您的查询中的每一条记录并将要求的字段传给变量进行相应的处理==================DECLARE @
- 示意图:python双向链表实现代码:#!/usr/bin/python# -*- coding: utf-8 -*-class Node(
- python设置环境变量有什么用?1、设置环境变量可以在cmd命令行中找到python命令;2、设置环境变量可以在安装exe的第三包的时候找
- 这里记录一下pytorch神经网络参数管理方法(参数访问、参数初始化、参数绑定),方便自己和需要的朋友学习、查阅。一、参数访问1.1 访问指
- 前端版本更新检查,实现页面自动刷新使用vite对项目进行打包,对 js 和 css 文件使用了 chunkhash 进行了文件缓存控制,但是
- python之Pyperclip模块下面介绍一下,python中的Pyperclip模块,它的简单又实用,主要用法就2点:1.用于复制剪贴板
- 1 序言相信大家都还记得这则新闻吧,欧洲云计算巨头 OVH 位于法国斯特拉斯堡的机房发生严重火灾,大火彻底摧毁了五层高、占地 500 平方米
- 是否了解线程的同步和异步?线程同步:多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低线程异步:在访问资源时在空闲等待时同时访问其