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
投稿
猜你喜欢
- 装饰器模式(Decorator Pattern)是什么装饰器模式是一种结构型模式,它允许你在运行时为一个对象动态地添加新的行为,而不影响其原
- 如图:Oracle 11g安装到42%挂了。上度娘查了一下,原来是Oracle安装包的问题,1,2两个包都要下载下来,而且需要解压到相同(同
- 学习了css一段时间,现在对css的一些技巧进行一次小结.希望能对那些刚学习css的新手们带来帮助.一、关于注释在创建xhtml+CSS网站
- 引言今天给大家推荐的是web应用安全防护方面的一个包:csrf。该包为Go web应用中常见的跨站请求伪造(CSRF)攻击提供预防功能。cs
- 在ASP中,FSO的意思是File System Object,即文件系统对象。
- 这个类主要解决在类型转换时,如果直接使用类型转换函数,会因为变量为空或者格式不对而导致程序报错,而这种报错在大多数情况下是允许的.例如要转换
- 本文实例为大家分享了python实现多人聊天室的具体代码,供大家参考,具体内容如下刚开始学习python,写了一个聊天室练练手。Server
- 1.环境设置1.1gradio安装需要安装 gradio,安装办法就是 pip install gradio2.ffmpeg安装再次需要加入
- 在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定
- <html> <head> <title>Untitled Document</title>
- 一、简介是一个 python 内置包,不需要额外安装即可使用urllib 是 Python 标准库中用于网络请求的库,内置四个模块,分别是u
- 其实这个东西没什么技术含量,就是给大家提供一个给表格加滚动条的思路。运行代码框<html><head><tit
- IE的有条件注释是一种专有的(因此是非标准的)、对常规(X)HTML注释的Miscrosoft扩展。顾名思义,有条件注释使你能够根据条件(比
- <script>alert(escape("人"));alert(encodeURI("人&quo
- 利用python+ffmpeg合并B站视频及格式转换 B站客户端下载的视频一般有两种格式:早期的多为blv格式(由flv格式转换而来,音视频
- 作者的BLOG:http://www.planabc.net/地图弹窗(map pop)具体演示运行代码框<!DOCTYPE html
- 首先说一下我遇到的坑,生产上遇到的问题,我调度Python脚本执行并监控这个进程,python脚本运行时间远远大于python脚本中自己统计
- 先看代码m = nn.Identity(54, unused_argument1=0.1, unused_argument2=False)i
- 在Bootstrap的官网上,提供了一种导航栏的组件:只要在站点文件夹放好JQ与Bootstrap输入如下代码: <!DOCTYPE
- CSS 和 JavaScript 的压缩已经很成熟,各大网站都在使用。HTML 的压缩(特指去除空白字符和注释),除了 Google 等搜索