Возможно задаю глупый вопрос, но пока никак не могу придумать решение.
Есть свой класс-наследник от QGraphicsScene - gameScene.
В конструкторе рисуется поле размером 10 на 10 из QRect
Код: Выделить всё
gameScene::gameScene(QObject *parent) :
QGraphicsScene(parent)
{
for (qreal y=0; y<300.0; y+=30)//рисуем игровое поле из квадратов
{
for (qreal x=0; x<300.0; x+=30)
{
addRect(x, y, 30.0, 30.0, Qt::SolidLine, QBrush(QColor(35, 80, 124), Qt::SolidPattern));
}
}
}Необходимо, чтобы при щелчке мышью на одном из квадратов этот квадрат менял цвет.
Проблем с получением указателя на квадрат нет:
Код: Выделить всё
void gameScene::mousePressEvent(QGraphicsSceneMouseEvent * mouseEvent)
{
if (mouseEvent->button()==Qt::LeftButton)
{
QGraphicsItem *rec=itemAt(mouseEvent->scenePos());
}
}Но как изменить его цвет? Пока что были безуспешные попытки через paint() с заданным QPainter.