Вызывать можно по-разному, в
документации описаны следующие определения:
void drawLine(const QLineF &line)
void drawLine(const QLine &line)
void drawLine(int x1, int y1, int x2, int y2)
void drawLine(const QPoint &p1, const QPoint &p2)
void drawLine(const QPointF &p1, const QPointF &p2)
Вам необходимо сперва инициализировать холст и только потом рисовать на нём, в соответствующем событии. Возможно, поможет разобраться пример моего приложения, рисующего таблицы Шульте:
https://github.com/oleg-glushko/USSRSpeedReading/b...