Example #1
0
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);


}
Example #2
0
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();
}