Vorrei creare una libreria costruita su e QTcpSocket
per l'utilizzo in programmi che non hanno loop di eventi nelle loro funzioni main
(poiché il ciclo di eventi Qt sta bloccando e non fornisce una risoluzione temporale sufficiente per operazioni in tempo reale richieste).È possibile creare loop eventi locali senza chiamare QApplication :: exec()?
Speravo di aggirare questo creando loop di eventi locali all'interno della classe, ma non sembrano funzionare se prima non ho chiamato app->exec()
nella funzione principale. C'è un modo per creare loop di eventi locali e consentire comunicazioni segnale/slot all'interno di un thread senza avere un ciclo di eventi a livello di applicazione?
Ho già visto Is there a way to use Qt without QApplication::exec()? ma la risposta non aiuta perché sembra che la soluzione aggiunga un ciclo di eventi locale ma non rimuova il ciclo dell'applicazione.
genera un nuovo thread che contiene 'QApplication :: exec()' e lo mantiene attivo come "thread principale"? –
Farò un tentativo. L'unico svantaggio è che, anche se funziona, probabilmente mi precluderebbe l'utilizzo della libreria in futuro con le applicazioni Qt effettive, poiché non è possibile avere due chiamate a 'QApplication :: exec' –