Pergunta

Eu apenas comecei a aprender Qt, que é a minha primeira experiência com GUIs. Até agora tem sido apenas aplicações de console, e um pouco de SDL.

Estou ficando muito confuso com toda esta sinais e slots coisa. Acabei de terminar Tutorial 11 . Quando você pressiona shoot, o botão de atirar envia um sinal, que é conectado ao slot na Cannonfield, para a função de "disparar". A função shoot inicia um temporizador, que emite um sinal a cada 5 ms para contar a atirar para avançar um quadro. Recebo tudo isso.

Eu experimentei com colocando um 0 a 999 para o laço, que enviou i para a saída do aplicativo para que eu pudesse ver o que aconteceu. Isto é onde eu começo a ficar confuso. Às vezes, ele começa a imprimir a 0, 1, 2, 3 etc, obter alguns em (digamos, 10) e dispara o tiro, em seguida, quando o tiro vai para fora da tela, ele imprime o restante até 999. Outras vezes ele imprime nada , dispara o tiro, em seguida, imprime 0 a 999. Outras vezes, imprime tudo, em seguida, dispara o tiro. Estou apenas me confundindo, observando a saída em Qt Creator, ao mesmo tempo como correr do meu programa?

Foi útil?

Solução

Este é um problema com frameworks baseados mensagem de loop onde tudo é feito em um único segmento principal. Por favor, veja a minha resposta a uma pergunta semelhante aqui .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top