Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
QTimer* timer=new QTimer(this);
timer->setSingleShot(false);
timer->setInterval(50);
connect(timer,SIGNAL(timeout()),this,SLOT(keyFunc()));
timer->start();
}
void Widget::keyFunc()
{
if(keyLeft==true&&keyUp==true)// left up
{
}
else if(keyRight==true&&keyUp==true)// left up
{
}
else if(keyLeft==true&&keyDown==true)// left up
{
}
else if(keyRight==true&&keyDown==true)// left up
{
}
else if(keyLeft==true)// left up
{
}
else if(keyRight==true)// left up
{
}
else if(keyUp==true)// left up
{
}
else if(keyDown==true)// left up
{
}
}
void Widget::keyPressEvent(QKeyEvent *e)
{
if(e->key()==Qt::Key_Left)
{
keyLeft=true;
}
else if(e->key()==Qt::Key_Right)
{
keyRight=true;
}
else if(e->key()==Qt::Key_Up)
{
keyUp=true;
}
else if(e->key()==Qt::Key_Down)
{
keyDown=true;
}
}
void Widget::keyReleaseEvent(QKeyEvent *e)
{
if(e->isAutoRepeat()==false)
{
if(e->key()==Qt::Key_Left)
{
keyLeft=false;
}
else if(e->key()==Qt::Key_Right)
{
keyRight=false;
}
else if(e->key()==Qt::Key_Up)
{
keyUp=false;
}
else if(e->key()==Qt::Key_Down)
{
keyDown=false;
}
}
}
'컴퓨터 공학 > Qt' 카테고리의 다른 글
[ Qt 프로그래밍 ]QAudioOutput 예제 (0) | 2015.11.26 |
---|---|
[ Qt 프로그래밍 ]wav 음질 변환 프로그램 (0) | 2015.11.26 |
OpenGL 사면체 샘플 (0) | 2015.11.26 |
[ Qt 프로그래밍 ]정적 빌드 하는법 (0) | 2015.11.26 |
[ Qt 프로그래밍 ]repaint() 혹은 update()가 먹히지 않을 경우 (0) | 2015.11.26 |