@Zhukov said in Рисование линии Qt:
Как передать точки x,y,x1,y1 в paintEvent()?
Как показали выше: сохранить координаты в полях класса, вызвать update() (repaint лучше не юзать без особых причин) и использовать эти поля в paintEvent()
Как вариант, можно использовать QPainterPath или даже QPicture, это хорошо подойдет если планируется рисовать много линий и добавлять/убирать их в процессе работы приложения. Еще можно нарисовать линии в QImage и затем рисовать получившуюся картинку в paintEvent(), хорошо подойдет для реализации растрового редактора типа MS Paint, но будет привязка к конкретным размерам картинки в пикселях.
Как использовать paintEvent() в любой момент?
Никак, paintEvent вызывается в моменты перерисовки окна графической системой. Если вызвать repaint(), то эта перерисвока произойдет практически сразу же, но лучше не делать код, зависящий от предположения мгновенной перерисовки, и использовать update