Низкая частота опроса события движения мыши QtC++

Программы на C++. Форум разработчиков
Anonymous
Низкая частота опроса события движения мыши Qt

Сообщение Anonymous »

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

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

Поправьте меня, если я неправильно, но я чувствую, что проблема в низкой скорости объединения функции 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
}

Есть ли способ увеличить скорость объединения, если это проблема? А если нет, то использую ли я совершенно неправильный инструмент для этой работы? У меня нет знаний об OpenGL или какой-либо другой графической библиотеке, поэтому я надеялся полностью реализовать эту программу на Qt.

Подробнее здесь: https://stackoverflow.com/questions/786 ... lling-rate

Вернуться в «C++»