python+pyqt实现12306图片验证效果


Posted in Python onOctober 25, 2017

本文实例为大家分享了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_())

效果图:

python+pyqt实现12306图片验证效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用百度翻译进行中翻英示例
Apr 14 Python
Python编程入门的一些基本知识
May 13 Python
Python程序中设置HTTP代理
Nov 06 Python
Windows下Python2与Python3两个版本共存的方法详解
Feb 12 Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
Python趣味挑战之实现简易版音乐播放器
May 28 Python
Python装饰器的练习题
Nov 23 Python
python编程羊车门问题代码示例
Oct 25 #Python
python中requests使用代理proxies方法介绍
Oct 25 #Python
python中requests爬去网页内容出现乱码问题解决方法介绍
Oct 25 #Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 #Python
Python探索之pLSA实现代码
Oct 25 #Python
python正则表达式re之compile函数解析
Oct 25 #Python
Python2和Python3中print的用法示例总结
Oct 25 #Python
You might like
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
PHP中cookie知识点学习
2018/05/06 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
js实现鼠标滑动到某个div禁止滚动
2020/09/17 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
python集合的新增元素方法整理
2020/12/07 Python
Ref与out有什么不同
2012/11/24 面试题
大学生毕业自我鉴定范文
2013/09/19 职场文书
毕业生精彩的自我评价分享
2013/10/06 职场文书
毕业生在校学习的自我评价分享
2013/10/08 职场文书
出国考察邀请函
2014/01/21 职场文书
先进事迹报告会感言
2014/01/24 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
教师简历自我评价
2014/02/03 职场文书
工商治理实习生的自我评价分享
2014/02/20 职场文书
中学生自我评价范文
2015/03/03 职场文书
总账会计岗位职责
2015/04/02 职场文书
新学期感想
2015/08/10 职场文书
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
python 实现体质指数BMI计算
2021/05/26 Python
教你怎么用Python操作MySql数据库
2021/05/31 Python
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android