Низкая частота опроса события движения мыши 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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