Russian Qt Forum

Qt => Общие вопросы => Тема начата: pish_r от Май 30, 2007, 16:57



Название: keypressevent, keyReleaseEvent,autorepeat
Отправлено: pish_r от Май 30, 2007, 16:57
следующий код:
Код:


void  keyPressEvent ( QKeyEvent * event )
{

    qDebug() << "press";
          }

void keyReleaseEvent ( QKeyEvent * event )
{

              qDebug() << "release";
}



дает следующий результат:

<<< I press space key >>>
output will be:
press
release
press
release
press
release
...
<<< I release the space key >>>
release

хотелось бы чтоб по нажатию кнопки вызывался press. а по отпусканию release

проблема в autorepeat, как его убрать?
Спасибо заранее

добавлено спустя 35 минут:

 Вопрос снят.
Кого интересует ответ:

Код:

void  keyPressEvent ( QKeyEvent * event )
   {
   
        if ( !event->isAutoRepeat() )
           {
             qDebug() << "press";
            }
            else
             {
              event->ignore();
              }
     }

   void keyReleaseEvent ( QKeyEvent * event )
   {
   
           if ( !event->isAutoRepeat() )
           {
             qDebug() << "release";
            }
              else
             {
              event->ignore();
              }
   }