Wpis z mikrobloga

Piszę sobie prostą gierkę w Qt. Mam klasę Game w której trzymam podstawowe elementy gry i QGraphicsScene. Na początku dałem ekran z napisem "naciśnij spację, aby rozpocząć grę". Tutaj wykrywane jest jej naciśnięcie i wszystko działa.

Później robię scene->clear i wpakowuje tam wtedy to co ma być widoczne podczas samej gry (w tym element, którym będziemy się poruszać się za pomocą strzałek). Ten element jest obiektem danej klasy, która ma w sobie również keyPressEvent(...) <- który będzie sprawdzał właśnie to przemieszczanie się.

Problem jest taki, że mimo nastawienia flagi focuseable i nastawienia samego focusa na ten element, to keyPressEvent dalej idzie do tego początkowego zdarzenia ze spacją. O czym nie wiem, a powinienem to zrobić, aby działało?

Mogę zaraz wstawić jakiegoś zipa jak potrzeba

#cpp #qt #programowanie
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@erajwa: Przy łączeniu za pomocą connect(...) to wiem jak zrobić disconnect(), ale tutaj wygląda to trochę inaczej, więc jakoś nie widzę sposobu jak to zdiscconectować. Myślałem nad ręcznym łączeniu sygnału KeyPress i potem po wywołaniu rozłączeniu tak jak mówisz, ale nie mogę znaleźć jak wygląda (o ile istnieje) sygnał przy naciśnięciu przycisku.
  • Odpowiedz