Frage

Ich habe gerade angefangen Qt lernen, die meine erste Erfahrung mit GUIs ist. Bisher ist es nur Konsole apps gewesen, und ein bisschen von SDL.

Ich bin immer mit diesem ganzen Signalen und Slots, was sehr verwirrt. Ich habe gerade Tutorial 11 fertig. Wenn Sie schießen drücken, sendet die Shooting-Taste ein Signal, das zu dem Schlitz in der Cannonfield verbunden ist, für die „shoot“ Funktion. Die Drehfunktion startet einen Timer, der ein Signal alle 5 ms sendet das Shooting zu sagen, einen Rahmen vorwärts zu bewegen. Ich bekomme das alles.

Ich experimentierte mit einem 0 bis 999 für Schleife setzen, die mich an die Anwendung Ausgang gesendet, so konnte ich sehen, was passiert ist. Dies ist, wo ich immer verwirrt starten. Manchmal beginnt es 0 Ausdrucke, 1, 2, 3 usw., um nur einige bekommen (etwa 10) dann den Schuss ausgelöst wird, dann, wenn der Schuss aus dem Bildschirm geht, druckt er den Rest bis zu 999. Anderen Zeiten es nichts druckt feuert den Schuss, druckt dann 0 bis 999. Andere Male ist es alles druckt, dann den Schuss abfeuert. Bin ich verwirrend ich gerade durch die Ausgabe in Qt Creator beobachtet zur gleichen Zeit wie Laufen meines Programms?

War es hilfreich?

Lösung

Dies ist ein Problem mit Nachrichtenschleife basierten Frameworks, wo alles in einem einzigen Haupt-Thread ausgeführt wird. Bitte beachten Sie meine Antwort auf eine ähnliche Frage hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top