私は簡単なペイントプログラムで作業しています。 Qt(とKDE)が簡単に実装できるように思えました。 Qtは使い方が簡単ですが、今は問題があります。Qt、マウスをスキップし、すべてのピクセルを更新しない、mouseMoveEvent()
プログラムに何かを描画すると、マウスを速く動かすとマウスがスキップします。
このような:それは1つの長い文字列のようになりsusposed
。
マウスの左ボタンを押したときにmouseMoveEvent()を使用してイメージにピクセルを描画しています。 私はsetMouseTracking(true)を呼び出しました。私がマウスを動かす限り、イベントを呼び出す必要があります。
void camoMaker::mouseMoveEvent(QMouseEvent *ev)
{
if(ev->state()==Qt::LeftButton)
{
QPoint mPoint=ev->pos();
mPoint.setX(mPoint.x()-80);
drawPoint(mPoint);
}
}
camoMakerがメインウィジェットです。
drawPoint()は、描画領域であるQWidget上のQPainterを使用して、内部QImage上にピクセルを描画します。
mouseMoveEvent()は、マウスが移動するピクセルごとに呼び出されるのではなく、マウスが実際にはピクセルをスキップするだけのようです。
QtフォルトではなくX11やOSがマウスの位置/入力をどのように処理するかはわかります。
もし私がそれを修正しようとすれば、登録される2点から補間を試みるべきですか?