Domanda

Ho appena iniziato a studiare Qt, che è la mia prima esperienza con le GUI. Finora sono state solo app per console e un po 'di SDL.

Sto diventando molto confuso con tutta questa cosa di segnali e slot. Ho appena finito Tutorial 11 . Quando si preme il pulsante di scatto, il pulsante di scatto invia un segnale, che è collegato allo slot nel campo Cannon, per lo "scatto" funzione. La funzione di scatto avvia un timer, che emette un segnale ogni 5 ms per indicare allo scatto di avanzare di un fotogramma. Ho capito tutto.

Ho provato a mettere da 0 a 999 per il ciclo, che ha inviato l'output dell'applicazione in modo da poter vedere cosa è successo. È qui che inizio a confondermi. A volte, inizia a stampare 0, 1, 2, 3 ecc., Inserendone alcuni (diciamo 10), quindi spara lo scatto, quindi quando lo scatto esce dallo schermo, stampa il resto fino a 999. Altre volte non stampa nulla , spara il tiro, quindi stampa da 0 a 999. Altre volte stampa tutto, quindi spara il tiro. Mi sto solo confondendo guardando l'output in Qt Creator mentre il mio programma è in esecuzione?

È stato utile?

Soluzione

Questo è un problema con i framework basati su loop di messaggi in cui tutto è fatto in un singolo thread principale. Per favore, vedi la mia risposta a una domanda simile qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top