OS :: win xp sp3.Wie man Schlüsselwort sofort ohne Verzögerung in Qt :: 4.6 (C++) arbeiten lassen?
Qt :: 4.6
Ich habe Klasse Gameboard, in dem ich habe einige rectangle.I keyPressEvent, um für das Rechteck definiert ihn um die screen.Key_A :: rectangle.moveToLeft & Key_D :: Rechteck zu bewegen. moveToRight.Problem ist, dass Tasten mit Verzögerung arbeiten. Wenn ich einen Schlüssel loslasse und einen anderen drücke, dauert es einige Zeit, bis dieser beginnt zu arbeiten. Ich habe Qt Online-Dokumentation überprüft und jetzt für diesen Effekt aber nicht jetzt, wie man diese Schlüssel sofort ohne Verzögerung zwischen ihnen arbeiten lässt?
Code-Schnipsel:
//in Gameboard class
ship = new QRect(x,y,w,h);
void Gameboard::keyPressEvent(QKeyEvent* event)
{
switch(event->key()) {
case Qt::Key_A :
{
x = x-10;
ship->moveTo(x,y);
break;
}
case Qt::Key_D :
{
x = x+10;
ship->moveTo(x,y);
break;
}
}
}
Können Sie Code aus keyPressEvent() einfügen? – Septagram
sollten Sie keine Verzögerung beim Tastendruck fühlen. Machst du schweres Zeichnen in ui thread? –
Ich mache leichte Sachen, aber die Tasten reagieren nicht sofort. –