boucles de calculs compliqués, et quasi sans fin:
comment les interrompre sans perte de données, examiner et modifier des paramètres, et laisser repartir...
voici ce que je souhaite: un réseau d'objets ('nodes'),interagissants de façon peu prévisible, qui de temps en temps écrivent leurs propriétés à l'écran,dans des widgets de QT. Ces widgets constituent l'interface utilisateur du réseau.
Mais je désire, depuis l'interface utilisateur, suspendre les traitements, inspecter certains éléments, modifier des paramètres (et même créer/détruire certins objets, puis laisser redémarrer le processus.
Lorsque l'utilisateur modifie des widgets affichés à l'écran (ou clique dessus), j'ai cru comprendre qu'ils émettent des signaux, puis que ces signaux activent des fonctions 'slots' auparavant définies par le programmeur.
Si j'ai bien compris, à partir d'un bouton, je devrais pouvoir lancer un 'slot' (une fonction) construite pour modifier des variables qui contrôlent des if ou while, arrêtant ainsi les calculs, immédiatement ou après la fin d'une suite d'opérations parfaitement limitée (cela m'est indifférent).
Mais.... encore faut-il que la fonction 'slots' s'exécute entre 2 instructions de "main" ou de ses dépendances, alors que les boucles du programme principal de calcul s'enchaînent sans aucun temps d'attente.
D'ou la question: aprés une action adéquate dans l'interface graphique, l'exécution d'une fonction du genre:
on_inputSpinBox1_valueChanged( int value)
{ ..instructions...nombre=0; arret=1; etc.... }
..... est-elle prioritaire et va-t-elle s'insérer de suite entre l'exécution de 2 lignes du code en cours d'exécution?
..... ou attend-elle éternellement la fin des calculs?
merci d'avance
-----