Witam
Od paru dni tworzę prosty edytor kafelkowy i mam taki problem.
w klasie "Kafelka" dziedziczącej QGraphicsObject w metodzie paint ustawiam QBrush na Qt::TexturePattern i wczytuje QPixmap. Ale za każdym razem Qt Creator wywala "QBrush: Incorrect use of TexturePattern". Chociaż na pierwszy rzut oka wszystko działa dobrze.
void MyObject::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QRectF rec = boundingRect();
if (focus == true)
{
brush_color = QColor(Qt::blue);
focus = false;
}
else
{
brush_color = Qt::black;
}
//QBrush brush(brush_color,Qt::SolidPattern);
QBrush brush(brush_color);
if (pixmap.isNull() == false)
{
brush.setStyle(Qt::TexturePattern);
brush.setTexture(pixmap);
}
else
{
brush_color = Qt::black;
}
QPen rect_pen(Qt::red);
painter->setPen(rect_pen);
painter->fillRect(rec,brush);
painter->drawRect(rec);
}
W ogóle nie wiem czy dobrą metodę wybrałem, jakiej klasy powinienem użyć dla Kafelka ? Aby móc przechowywać w niej QPixmape i korzystać z sygnałów i slotów ?
Całość na razie wygląda tak :