本文實例為大家分享了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_()) 效果圖:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答