Всем привет, пробую написать тетрис. Столкнулся с проблемой не могу отловить нажатие клавиш на клавиатуре.
Вот описание класса:
class Tetris: public QWidget{
Q_OBJECT
public:
Tetris();
Form form;
QTableWidgetItem *items[20][12];
int milk[20][12];
QTime time;
int speed;
bool keystroke[4];
void create_table ();
void paint_piece(Qt::GlobalColor color, piece newpiece);
void timer();
void change_piece(int = -1);
void keyPressEvent(QKeyEvent* );
}
вот описание самой процедуры keyPressEvent:
void Tetris::keyPressEvent( QKeyEvent* key )
{ qDebug()<<"key presed!!!!";
enum keystroke_type key_type;
if( keystroke[KEY_LEFT] == false && keystroke[KEY_RIGHT] == false
&& keystroke[KEY_UP] == false && keystroke[KEY_DOWN] == false )
switch( key->key() )
{
case Qt::Key_Left:
key_type = KEY_LEFT;
qDebug()<<"left";
keystroke[KEY_LEFT] = true;
break;
case Qt::Key_Right:
qDebug()<<"right";
keystroke[KEY_RIGHT] = true;
break;
case Qt::Key_Up:
keystroke[KEY_UP] = true;
key_type = KEY_UP;
break;
case Qt::Key_Down:
keystroke[KEY_DOWN] = true;
key_type = KEY_DOWN;
break;
}
};
запускаю жму любые клавиши но никаких сообщений в консоль не выводит .....