Vkeybord::Vkeybord(QWidget *parent) : QWidget(parent), ui(new Ui::Vkeybord) { ui->setupUi(this); m_lbWaitKeyIn=NULL; m_listNumWord<<ui->btn1<<ui->btn2<<ui->btn3<<ui->btn4<<ui->btn5<<ui->btn6<<ui->btn7<<ui->btn8<<ui->btn9<<ui->btn0; m_listEnWord<<ui->a<<ui->b<<ui->c<<ui->d<<ui->e<<ui->f<<ui->g<<ui->h<<ui->i<<ui->j<<ui->k<<ui->l<<ui->m <<ui->n<<ui->o<<ui->p<<ui->q<<ui->r<<ui->s<<ui->t<<ui->u<<ui->v<<ui->w<<ui->x<<ui->y<<ui->z; m_listSpecailWord<<ui->space<<ui->back<<ui->end<<ui->mouse<<ui->add<<ui->sub<<ui->slice; for(int i=0;i<m_listEnWord.length();i++) { QString sUpper; QString sLower; sLower=m_listEnWord[i]->objectName(); sUpper=m_listEnWord[i]->objectName().toUpper(); // QStringList listText; // listText<<sLower<<sUpper; // m_listEnWord[i]->setListText(listText); m_listEnWord[i]->setText(sLower); connect(m_listEnWord[i],SIGNAL(clicked()),this,SLOT(slotInput())); } for(int j=0;j<m_listNumWord.length();j++) { int iNum=j+1; if(iNum>9) iNum=0; QString st=QString::number(iNum); m_listNumWord[j]->setListText(QStringList(st)); connect(m_listNumWord[j],SIGNAL(clicked()),this,SLOT(slotInput())); } ui->back->setText("Backspace"); ui->mouse->setText("@"); ui->add->setText("+"); ui->sub->setText("-"); ui->slice->setText("/"); ui->end->setText("."); for(int k=0;k<m_listSpecailWord.length();k++) { connect(m_listSpecailWord[k],SIGNAL(clicked()),this,SLOT(slotInput())); } connect(ui->btnClose,SIGNAL(released()),this,SLOT(hide())); connect(ui->btnShift,SIGNAL(clicked(bool)),this,SLOT(slotChangeUpper(bool))); connect(ui->btnEnter,SIGNAL(released()),this,SLOT(slotEnter())); m_ani=new QPropertyAnimation(this,"pos"); m_ani->setDuration(200); //ui->wBg->move(0,1920); }
CaptureWgt::CaptureWgt( QWidget * parent ) : QMainWindow( parent ) { pd = new PD(); pd->ui.setupUi( this ); pd->crossFname = "./video.ini"; pd->modifyLaserPos = false; pd->devMenu = 0; pd->resMenu = 0; pd->imgScale = 1.0; pd->drawArrow = false; pd->flipX = false; pd->flipY = false; pd->resolutionAcquired = false; pd->cap = new Capture( this ); pd->ui.brightnessDw->setVisible( false ); pd->brightness = new BrightnessWgt( this ); pd->ui.brightnessDw->setWidget( pd->brightness ); pd->cap->setBrightnessRange( pd->brightness->range() ); connect( pd->brightness, SIGNAL(rangeChanged(const QPointF &)), this, SLOT(slotBrightnessChanged(const QPointF &)) ); connect( pd->ui.brightnessRange, SIGNAL(triggered()), this, SLOT(slotBrightness()) ); Ui_CaptureWgt & ui = pd->ui; connect( ui.capture, SIGNAL(triggered()), this, SLOT(slotCapture()) ); connect( ui.settings, SIGNAL(triggered()), this, SLOT(slotSettings()) ); connect( ui.cross, SIGNAL(triggered()), this, SLOT(slotCrossEmphasis()) ); pd->scene = new QGraphicsScene( pd->ui.view ); pd->scene->setBackgroundBrush( QBrush( Qt::gray ) ); pd->ui.view->setScene( pd->scene ); pd->image = new QGraphicsPixmapItem( 0, pd->scene ); pd->image->setPos( 0.0, 0.0 ); pd->lineX1 = new QGraphicsLineItem( pd->image, pd->scene ); pd->lineY1 = new QGraphicsLineItem( pd->image, pd->scene ); pd->lineX2 = new QGraphicsLineItem( pd->image, pd->scene ); pd->lineY2 = new QGraphicsLineItem( pd->image, pd->scene ); pd->arrow = new QGraphicsPolygonItem( pd->image, pd->scene ); // This is for laser spot position. pd->laserPosImage = new QGraphicsPixmapItem( 0, pd->scene ); pd->laserPosImage->setPixmap( QPixmap( ":/images/laser.png" ) ); pd->laserPosImage->setPos( -pd->laserPosImage->pixmap().width()/2, -pd->laserPosImage->pixmap().height()/2 ); pd->laserPosImage->setVisible( false ); connect( pd->ui.flipX, SIGNAL(triggered()), this, SLOT(slotFlipX()) ); connect( pd->ui.flipY, SIGNAL(triggered()), this, SLOT(slotFlipY()) ); pd->cap = new Capture( this ); listDevices(); connect( pd->cap, SIGNAL(frame(const QImage &)), this, SLOT(slotFrame(const QImage &)) ); ui.view->installEventFilter( this ); pd->inMenu = new QMenu( this ); ui.input->setMenu( pd->inMenu ); QAction * a = new QAction( "Default", this ); a->setCheckable( true ); a->setChecked( true ); pd->inMenu->addAction( a ); pd->inList << a; a = new QAction( "Usb", this ); a->setCheckable( true ); pd->inMenu->addAction( a ); pd->inList << a; a = new QAction( "S-Video", this ); a->setCheckable( true ); pd->inMenu->addAction( a ); pd->inList << a; a = new QAction( "Composite", this ); a->setCheckable( true ); pd->inMenu->addAction( a ); pd->inList << a; for ( int i=0; i<pd->inList.size(); i++ ) { QAction * a = pd->inList[i]; connect( a, SIGNAL(triggered()), this, SLOT(slotInput()) ); } // ƒействи¤ соответствующие фильтрам. pd->filterList << ui.equalizeHist; pd->filterList << ui.fullContrast; pd->filterList << ui.sobel; pd->filterList << ui.median; pd->filterList << ui.timeSmooth; pd->filterList << ui.highPass; pd->filterList << ui.surface; pd->filterList << ui.brightnessRange; for ( int i=0; i<pd->filterList.size(); i++ ) { QAction * a = pd->filterList[i]; connect( a, SIGNAL(triggered()), this, SLOT(slotFilter()) ); } connect( ui.pixmap, SIGNAL(triggered()), this, SLOT(slotPixmap()) ); QToolButton * btn = qobject_cast<QToolButton *>(ui.toolBar->widgetForAction(ui.input)); if ( btn ) btn->setPopupMode(QToolButton::InstantPopup); btn = qobject_cast<QToolButton *>(ui.toolBar->widgetForAction(ui.device)); if ( btn ) btn->setPopupMode(QToolButton::InstantPopup); btn = qobject_cast<QToolButton *>(ui.toolBar->widgetForAction(ui.resolution)); if ( btn ) btn->setPopupMode(QToolButton::InstantPopup); //pd->usbLight = new LightIcon( this ); //ui.toolBar->addWidget( pd->usbLight ); // Laser spot handling. QMenu * m = new QMenu( this ); a = m->addAction( "Set laser spot position" ); connect( a, SIGNAL(triggered()), this, SLOT(slotSetLaserSpot()) ); btn = qobject_cast<QToolButton *>(ui.toolBar->widgetForAction(ui.laser)); btn->setPopupMode( QToolButton::MenuButtonPopup ); ui.laser->setMenu( m ); updateCrossPos(); }