Нажатие левой и правой кнопки мыши PyQt5


У меня на python при нажатии на любую кнопку выводит черный пиксель, но как можно так реализовать:
. По нажатию левой клавиши мыши :
В позиции указателя рисуется пиксель черного цвета.
2. По нажатию правой кнопки мыши :
Все точки меняют цвет на случайный.

Нужно сохранять все точки и их цвета в список, и каждый раз выводить весь этот список в paintEvent, а не одну последнюю. При перерисовке же всё ранее нарисованное убирается.

а как составить список точек в paintEvent?

Так его наоборот не в нем составлять надо.

По клику например добавлять координаты какой-то точки в список и вызывать update().
А в paintEvent пройти циклом этот список и нарисовать все точки.