Witam
piszę sobie grę w Qt i graphicsview dokładnie chodzi o statki.
I tak
Mam klase QMainWindow (Q_OBJECT), klasę dziedziczącą po QGraphicsScene, klasę dziedziczącą po QGraphicsItem (pola na planszy) i ogólną klasę z mechaniką gry...
I w klasie od sceny mam tablice wskaźników do obiektów klasy od itemów oraz wskaźnik na obiekt klasy od gry i teraz chcę za pomocą sygnałów i slotów stworzyć taki mechanizm że jak klikne na item to on znika i wczytuje na to miejesce jakąś pixmape...dodam że korzystam z mousepressevent w klasie od QGpraphicsItem
i próbowałem tak
w klasie item :
bool MyItem::Click() // to jest public slot
{
pressed = true;
return pressed;
}
w klasie od sceny
void MyScene::drawObject() // to jest sygnal
{
// jakiś kod który wczytuje pixmape czy rysuje coś od nowa
}
teraz connect próbowałem w konstruktorze sceny
connect(cell,SIGNAL(Click()),this,SLOT(drawObject()));
cell to wskaznik na tablice obiektów od MyItem
wyskakuje błąd, mniej więcej wiem dlaczego tak jest ale jak to rozwiązać ?
błąd:no matching function for call to 'MyScene::connect(MyItem* [25], const char*, MyScene* const, const char*)'
Ze slotami mam małe doświadczenie więc nie wiem czy dobrze kombinuję..
Kodu trochę mało dalem bo jeden wieli chaos panuje w projekcie, jak trzeba to do kleje więcej.