勘違い

QTimerとQKeyEventをそのまま組み合わせると、キーリピートレートがOS依存になってしまうっぽい。

(原因は不明。イベントハンドラの競合?)

ゲームとかリアルタイム処理をやる場合は、これではちょっと困ってしまう。

解決方法として、再描画関数 update( ) をQTimerを使わず呼び出す(といい、と思われる)。


一番な簡単な実装例は、

void Hoge::paintEvent(QPaintEvent * /* event */)
{
    /* 描画処理の記述 */
    ・・・
    
    update();
}

みたいな感じで、描画関数の終了直前に update( ) 関数を呼び出すようにする。

update( ) は速攻で再描画をする関数ではなく、Qtがメインイベントループから返ってきたタイミングで再描画をする関数なので、

これで無限ループに陥ることはない。

(これも処理レートがCPU依存になってしまうので雑な方法には違いが、少なくともぐりぐり動くようにはなる。)