| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #include "xvalidatelabel.h"
- XValidateLabel::XValidateLabel(QWidget *parent) :
- QLabel(parent)
- {
- refresh();
- setAlignment(Qt::AlignCenter|Qt::AlignHCenter);
- }
- void XValidateLabel::refresh()
- {
- QTime time;
- time= QTime::currentTime();
- qsrand(time.msec()+time.second()*1000);
- int rnd = qrand()%9999;
- QString code = "00000"+QString::number(rnd);
- this->setText(code.right(4));
- getRandPoints();
- update();
- }
- void XValidateLabel::paintEvent(QPaintEvent *e)
- {
- QPainter painter(this);
- for(int i=0;i<m_x.size();i++)
- {
- QPen pen(Qt::black,1);
- painter.setPen(pen);
- painter.drawLine(m_x.at(i),m_y.at(i));
- // painter.drawPoint(m_x.at(i));
- // painter.drawPoint(m_y.at(i));
- }
- QLabel::paintEvent(e);
- }
- void XValidateLabel::resizeEvent(QResizeEvent *e)
- {
- refresh();
- QLabel::resizeEvent(e);
- }
- void XValidateLabel::getRandPoints()
- {
- QTime time1;
- time1= QTime::currentTime();
- qsrand(time1.msec()+time1.second()*1000);
- m_x.clear();
- m_y.clear();
- int w = width()-10;
- int h = height()-10;
- for(int i=0;i<5;i++)
- {
- int rnd1 = qrand()%w;
- int rnd2 = qrand()%h;
- m_x.append(QPoint(5+rnd1,5+rnd2));
- }
- for(int i=0;i<5;i++)
- {
- int rnd1 = qrand()%w;
- int rnd2 = qrand()%h;
- m_y.append(QPoint(5+rnd1,5+rnd2));
- }
- }
|