Доброго времени суток ЛОР. Есть класс SQuare основнанный на QWidget. Он отвечает за отрисовку прямоугольников 8х8, вобщем доски на подобии шахмат. Вся отрисовка происходит в:
void Square::paintEvent(QPaintEvent *)
Теперь мне нужно отловить кликание мыши по какому-либо прямоугольнику и после того как кликнули мышью нарисовать линию в этом прямоугольнике.
Делаю:
void Square::mousePressEvent(QMouseEvent *e)
{
    if (e->button() == Qt::LeftButton)
    {
        fields[(int)(e->x() / 40)][(int)(e->y() / 40)].checked = TRUE;
        this->repaint();
    }
}
fields - здесь массив прямоугольников 8x8. Отлавливать получается, но после того как произошло кликание ничего не рисуется.
В
void Square::paintEvent(QPaintEvent *)
есть следующий код:
if (fields[1][1].checked  == TRUE)
{
    painter_elipse.drawLine(1,1,20,20);
}
Допустим я запускаю программу, кликаю по прямоугольнику с индексом 1x1 , но ничего не происходит. Подскажите как быть. Как рисовать с помощью QPainter или еще чего по кликанию? Спасибо.




