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

Interfaces Graphiques Perl Discussion :

Problème de version pour le widget ROText


Sujet :

Interfaces Graphiques Perl

  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut Problème de version pour le widget ROText
    Bonjour,

    j'ai créé il y a quelques temps un programme Perl/Tk sur un PC avec la version 5.8.8 de Perl.
    J'ai essayé de lancer ce programme sur un autre PC avec la version 5.10.0 de Perl, et j'ai eu l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tk::Error : no event type or button # or keysym at usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Tk/Widget.pm line 1105, <PREF> line 3
    Cette erreur apparaît uniquement pour les widgets de Type Text ou ROText. Je voulais donc savoir s'il y avait eu des modifications de ce widget entre la version 5.8.8 et 5.10.0 (si la version de Tk correspond à celle de Perl?), et de manière générale comment connaître les modifications entre les différentes versions de Tk.

    Merci d'avance!

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    C'est étrange car ayant bossé sous pratiquement toutes les versions de Perl et Tk, je n'ai jamais eu ce souci.

    Peux-tu nous montrer ton code ?
    Quelle version de Tk utilises-tu sur tes deux PC ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -MTk -e "print $Tk::VERSION"

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Merci pour ta réactivité!
    Alors sur le PC que j'ai utilisé pour développer, j'ai la version 804.027.
    Sur le PC ou l'interface ne fonctionne pas, j'ai la version 804.028.
    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #!/usr/bin/perl
    use strict;
    use warnings;
    use Tk;
    use Tk::ROText;
     
    my $main_window = MainWindow->new;
    $main_window->configure(-title=>"Exemple",-width=>200,-heigh=>200);
    $main_window->ROText()->place(-x=>100,-y=>150);
    $main_window->Button(-text=>"Parcourir...",-command=>sub{print "appui bouton\n"})->place(-x=>100,-y=>100);
     
    MainLoop;
    Si je mets le widget ROText en commentaire, mon interface s'affiche correctement. Dans mon code complet ou j'utilise un certain nombre de widgets différents, Text et ROText sont les seuls à poser problème.

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    ça fonctionne chez moi sous Tk 804.028 ou 804.029.

    Tu es sous quel OS ?

  5. #5
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Sur le premier PC je suis sur Linux Mandriva 2007.0 (kernel 2.6.17.5) et sur le deuxième (celui ou ça ne marche pas) je suis sur Mandriva 2009.1 (kernel 2.6.29.6).
    Tu penses que ça peut venir de la version de Mandriva?

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Bah je ne sais pas comment Perl et surtout le module Tk est installé dessus. Surement une mauvaise installation.

  7. #7
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Très bien merci pour ton aide, ce n'est pas moi qui m'occupe de l'installation des programmes (ce sont des PC de mon boulot), je vais voir ça avec la personne qui a les droits.
    Je vous redis si je trouve la cause du problème!

  8. #8
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    J'ai été voir dans le fichier qui me génère l'erreur, Widget.pm: l'erreur provient de la fonction MouseWheelBind (donc la gestion des évènements liés à la molette de la souris), et plus particulièrement de la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     $mw->Tk::bind($class, '<MouseWheel>',
    	       [ sub { $_[0]->yview('scroll',-($_[1]/120)*3,'units') }, Tk::Ev("D")]);
    J'ai mis cette ligne en commentaire, et mon programme a marché. Apparement le bug est lié à la version de Mandriva (2009).
    Je ne me sers pas des évènements "MouseWheel", donc la mise en commentaire est une solution suffisante pour moi; je ne sais pas comment corriger le problème autrement.
    Je mets donc le sujet comme résolu!

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    C'est très très très mal de toucher aux sources des modules de la sorte . Comment sais-tu que c'est lié à la version 2009 de Mandriva ?

  10. #10
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Oui désolée
    Mais bon même la responsable informatique m'a dit que c'était la seule solution qu'elle avait trouvé jusqu'à maintenant (je ne le savait pas mais elle avait déjà étudié le problème)... et moi j'ai besoin que ça marche!
    Après c'est moi qui pense que ça vient de la version 2009 parce que c'est l'explication qui me vient à l'esprit, mais bon je n'en sais rien ^^

    En tout cas si quelqu'un a eu le problème et comprend d'où ça vient, je suis preneuse de l'explication!

  11. #11
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Une bonne idée serait de désinstaller le module Tk puis de le réinstaller. Peux-tu le faire ?
    Charche dans la FAQ, j'y ai mis un programme pour désinstaller le module sous Linux, puis tu le réinstalle.

  12. #12
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Malheureusement non je ne peux pas le faire (pas les droits).
    D'après la responsable informatique il existe un patch correctif, mais qui finalement ne fonctionne pas; je n'ai pas beaucoup d'informations là-dessus...

  13. #13
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Il faut lui dire de faire en root (pas en sudo) la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cpan
    force install Tk
    Ainsi, ça installera la dernière version de Tk. C'est la meilleure solution.

  14. #14
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Très bien je transmettrai le message. Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème instance pour le widget Tablelist
    Par frites.saucisse dans le forum Tkinter
    Réponses: 1
    Dernier message: 08/01/2010, 21h13
  2. problème de version du pilote jdbc pour oracle
    Par kalina dans le forum Connexions aux bases de données
    Réponses: 1
    Dernier message: 22/12/2009, 11h45
  3. [SQL 2K5] Problème de version pour attacher une base
    Par Jinroh77 dans le forum Administration
    Réponses: 8
    Dernier message: 03/10/2008, 18h19
  4. Réponses: 2
    Dernier message: 03/11/2007, 10h28
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 11h18

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