При рисовании в другой программе я могу создавать линии, например, с помощью быстрого движения мыши:

В моем программном обеспечении строки выглядят следующим образом:

Поправьте меня, если я неправильно, но я чувствую, что проблема в низкой скорости объединения функции Qt mouseMoveEvent, которую я перезаписываю внутри своего виджета, который наследует QGraphicsView, вот моя реализация:
Код: Выделить всё
const auto movingThroughPixel = mapPositionOfEventToScene(event); // this uses mapToScene(event->position().toPoint()); and checks if pixel is in the drawing
if (movingThroughPixel.has_value()) {
const auto clickedPixelX = movingThroughPixel->x();
const auto clickedPixelY = movingThroughPixel->y();
_drawing.drawPixelOnCurrentLayer(clickedPixelX,
clickedPixelY,
QColor(0, 255, 0, 255));
const auto combinedColor = _drawing.calculateCombinedPixelColor(
clickedPixelX, clickedPixelY);
_drawing_canvas_item->updateCanvasPixel(clickedPixelX, clickedPixelY,
combinedColor); // this calls QImage's setPixelColor and update() inside widget inheriting QGraphicsItem
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... lling-rate