Пример кода того, что вы пытаетесь сделать, очень помог бы здесь.
Использование QPainter :
Создайте объект QPainter, указывающий на объект canvas, и затем вызовите painter_obj.drawPoint(x,y);
. Обратите внимание, что QPainter должен быть создан в стеке, а не в куче, чтобы деструктор объекта мог запустить реальный чертеж.
Пример из документации:
void SimpleExampleWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setPen(Qt::blue);
painter.setFont(QFont("Arial", 30));
painter.drawText(rect(), Qt::AlignCenter, "Qt");
}
QGraphicsScene use :
Обычно вы используете QGraphicsScene для управления большим количеством объектов, плавающих вокруг вида одновременно. Это излишне для простого виджета рисования. QGraphicsScene не является, iirc, допустимым холстом для рисования QPainter.
Вместо этого вы создаете QGraphicsItem (или подкласс) соответствующего типа и переопределяете метод рисования. Когда ваш QGrpahicsItem будет добавлен в сцену, библиотека передаст вам объект QPainter, который будет использоваться для обработки вашего рисунка в случае необходимости.