andstar
31-12-2018, 09:34
Ciao,
sto giocando un po' con gli script in Stellarium e mi chiedevo se c'è modo di intercettare il loop eventi principale in modo da, per esempio, legare una funzione a un evento da tastiera.
Ho dato un'occhiata al motore Qt su cui è basato il modulo di scripting: utilizza un'astrazione basata su Signals e Slots per far comunciare due oggetti, ma via scripting non trovo il modo di fare il binding (connect). Probabilmente da lì non c'è accesso a tale meccanismo, ma domandare è lecito ;)
Di fatto ho notato che per interagire con uno scripts, gli utenti utilizzano un espediente simpatico, ma con conseguenze un po' sgradevoli. Dal momento che le API consentono di ottenere la data e l'ora di Stellarium, è possibile creare un while loop che continuamente osserva la data. Quando questa cambia, è possibile eseguire una funzione: in sintesi questo si traduce in legare ai tasti che modificano la data, un comportamento dello script. La conseguenza sgradevole è, per l'appunto, che la data si modifica.
Mi chiedevo, in sostanza, se qualcuno è riuscito a ottenere questo genere di interazione senza effetti collaterali.
Grazie in anticipo per le eventuali risposte.
Cieli sereni
Andrea
sto giocando un po' con gli script in Stellarium e mi chiedevo se c'è modo di intercettare il loop eventi principale in modo da, per esempio, legare una funzione a un evento da tastiera.
Ho dato un'occhiata al motore Qt su cui è basato il modulo di scripting: utilizza un'astrazione basata su Signals e Slots per far comunciare due oggetti, ma via scripting non trovo il modo di fare il binding (connect). Probabilmente da lì non c'è accesso a tale meccanismo, ma domandare è lecito ;)
Di fatto ho notato che per interagire con uno scripts, gli utenti utilizzano un espediente simpatico, ma con conseguenze un po' sgradevoli. Dal momento che le API consentono di ottenere la data e l'ora di Stellarium, è possibile creare un while loop che continuamente osserva la data. Quando questa cambia, è possibile eseguire una funzione: in sintesi questo si traduce in legare ai tasti che modificano la data, un comportamento dello script. La conseguenza sgradevole è, per l'appunto, che la data si modifica.
Mi chiedevo, in sostanza, se qualcuno è riuscito a ottenere questo genere di interazione senza effetti collaterali.
Grazie in anticipo per le eventuali risposte.
Cieli sereni
Andrea