IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Problème latence interface graphique


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 14
    Par défaut Problème latence interface graphique
    Bonjour,

    Je me permets de poster ce sujet sur le forum car je rencontre un petit problème auquel je ne trouve pas de solution.

    J'ai programmé une interface graphique me permettant d'effectuer un couplage entre deux logiciels. Le processus de calcul est assez long (quelques minutes) et je souhaite afficher un message dans l'interface, sous forme de Label, indiquant que celui-ci est en cours : une simple phrase du type "Calcul en cours". Mon problème est que ce message ne s'affiche que lorsque le processus de calcul est terminé. Je m'explique : je lance les calculs en cliquant sur un bouton, l'interface se bloque ([titre de la page] Ne répond pas), les calculs sont quand même effectués, ils se terminent, puis le message de chargement s'affiche seulement à ce moment-là.

    Ma question est donc : sauriez-vous comment corriger cela ? J'ai essayé d'utiliser une autre fenêtre du type Toplevel mais le problème est le même.

    Je vous remercie,

    Bonne journée.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 817
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Alors déjà c'eût été intéressant de nous dire de quelle interface graphique il s'agit. Parce que des IHM il n'y en n'a pas qu'une. Sais pas quoi, ça te parait pas évident à toi ce genre d'info? Ca me rappelle les questions de Coluche "quel âge avait Rimbaud?"

    Sinon de façon générale ce souci est assez connu. Les IHM restent figées le temps du calcul puis reprennent la main une fois le calcul fini. Pour pouvoir avoir une IHM libérée de l'attente il faut faire faire le calcul dans un thread qui peut éventuellement informer l'IHM à intervalle régulier de l'avancement du travail ce qui permet de mettre une barre de progression.

    Un exemple Qt ici.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Salut,

    Citation Envoyé par sdurand03 Voir le message
    Ma question est donc : sauriez-vous comment corriger cela ? J'ai essayé d'utiliser une autre fenêtre du type Toplevel mais le problème est le même.
    Si les calculs sont dans une boucle, on peut y ajouter un .update_idletasks() pour mettre à jour l'affichage. Sinon on peut toujours faire les calculs dans un thread différent (l'interface graphique ne bloque plus) et afficher une progressbar.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 14
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    Alors déjà c'eût été intéressant de nous dire de quelle interface graphique il s'agit. Parce que des IHM il n'y en n'a pas qu'une. Sais pas quoi, ça te parait pas évident à toi ce genre d'info? Ca me rappelle les questions de Coluche "quel âge avait Rimbaud?"

    Sinon de façon générale ce souci est assez connu. Les IHM restent figées le temps du calcul puis reprennent la main une fois le calcul fini. Pour pouvoir avoir une IHM libérée de l'attente il faut faire faire le calcul dans un thread qui peut éventuellement informer l'IHM à intervalle régulier de l'avancement du travail ce qui permet de mettre une barre de progression.

    Un exemple Qt ici.
    Bonjour,

    Veuillez m'excuser, c'est un oubli. J'utilise la bibliothèque tkinter.

    Merci pour votre réponse. Je vais me renseigner là-dessus.

    Bonne journée.

  5. #5
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2023
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2023
    Messages : 12
    Par défaut
    Bonjour,

    Essaie de mettre l'instruction nom_de_la_fenetre.update() juste après avoir afficher ton étiquette

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Depuis le temps, on peut espérer que le PO aura pu tirer profit des suggestions faites alors. En tout cas, on ne plante pas des appels à .update n'importe où: c'est dangereux.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2023
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2023
    Messages : 12
    Par défaut
    En effet, je n'ai pas fait attention à la date.
    Par contre, peux-tu m'expliquer le danger du .update ?
    Merci

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par fred13330 Voir le message
    Par contre, peux-tu m'expliquer le danger du .update ?
    Cherchez sur Internet, lisez la documentation, posez la question dans une discussion à vous,...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Problème d'interface graphique
    Par Ovopâck dans le forum GUI
    Réponses: 19
    Dernier message: 06/04/2010, 21h20
  2. Problème d'interface graphique
    Par nicogigo dans le forum Général Python
    Réponses: 6
    Dernier message: 19/03/2010, 06h27
  3. Problème compilation interface graphique
    Par jotiko dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 06/11/2008, 14h48
  4. problèmes d'interface graphiques
    Par Taaroa dans le forum JWS
    Réponses: 10
    Dernier message: 11/08/2008, 10h55
  5. Réponses: 11
    Dernier message: 21/04/2008, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo