Я работаю над простой программой рисования.
Казалось, Qt (и KDE) будет простым способом реализовать это.
Я считаю, что с Qt довольно легко работать, но теперь я столкнулся с проблемой.
Когда я рисую что-то в моей программе, мышь пропускает, если я перемещаю мышь быстро.
как это:
Он был похож на одну длинную нить.
Я использую 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 () рисует пиксель как на внутреннем QImage, так и используя QPainter на QWidget, который является областью рисования.
Мне кажется, что либо mouseMoveEvent () не вызывается для каждого пикселя, который перемещает мышь, или что мышь фактически пропускает какой-то пиксель.
Я понимаю, что это может быть просто из-за того, как это работает, а не из-за Qt, а из-за X11 или из-за того, как ОС обрабатывает положение / ввод мыши.
Если да, то как мне исправить это, должен ли я попытаться интерполировать из двух зарегистрированных точек?