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

Tkinter Python Discussion :

"entry widget": saisie caractère "e" accent circonflex ou "i" tréma. Code joint.


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut "entry widget": saisie caractère "e" accent circonflex ou "i" tréma. Code joint.
    Bonjour,
    Dans mes essais de programmation python je me heurte au problème suivant:
    l'utilisateur de mon programme doit taper des mots dans une zone d'entrée ( entry widget).
    Il ne peut pas taper normalement des mots comme "même" ou "haï".
    Le "e" et son accent circonflex ou le "i" et son tréma apparaissent comme 2 caractères cote à cote.
    Je n'ai pas ce problème avec "é" ou"è" ou "à".
    Je suis sous Ubuntu 10.04.
    J'utilise open office , thunderbird et firefox et je n'ai pas du tout ce type de problème avec ces programmes.
    Pour bien caractériser mon problème je joins un exemple de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    from Tkinter import *
     
    class Application(Frame):  
     
        def createWidgets(self):
            self.QUIT = Button(self)
            self.QUIT["text"] = "QUIT"
            self.QUIT["fg"]   = "red"
            self.QUIT["command"] =  self.quit
            self.QUIT.pack({"side": "left"})
     
            self.hi_there = Label(self, width=25)
            self.hi_there["text"] = "Test accent circonflex",
            self.hi_there.pack({"side": "left"})
     
            self.type_accent = Entry(self)
            self.type_accent.focus_force()
            self.type_accent.bind('<Return>', self.enter)
            self.type_accent.pack({"side": "left"})
     
        def enter (self, event):        
     
            print self.type_accent.get()
     
        def __init__(self, master=None):
            Frame.__init__(self, master)
            self.pack()
            self.createWidgets()
     
    root = Tk()
    app = Application(master=root)
    app.mainloop()
    root.destroy()
    Je n'ai pas posté dans tkinter car j'ai l'impression que ce n'est pas lié.
    J'utilise idle ou ellipse pour écrire mon code source et j'ai le même problème au niveau de ce code source. Mais il ne me gène pas.

    Merci pour votre aide

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Pas de problème en 10.10 avec le code donné...
    Le problème est il le même dans un Widget text ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Par défaut
    Ça fonctionne aussi sous Ubuntu 11.04 (Python 2.7).
    Peut-être qu'en mettant ça au début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import sys
    reload(sys)  # force l'interpréteur Python à fonctionner avec l'encodage utf-8
    if hasattr(sys,"setdefaultencoding"):
        sys.setdefaultencoding("utf-8")
    Je sais pas trop ce que ça fait mais il y a ça dans la calculext de Tyrtamos, et j'y ai pensé en voyant ton problème. C'est pile ou face

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut
    Je réponds à pausekawa: c'est la même chose avec le widget text.
    Voir l'image:

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut
    Je réponds à spitfire95: pas d'amélioration avec le code supplémentaire.

    A propos dans la fenètre éditeur de idle python 2.6 j'ai le même problème.
    Impossible de rentrer, ne serait ce qu'en commentaire , un e accent circonflex ou un i tréma, j'obtiens:
    " ^e^e^ ¨i¨i¨ ééé à ç"
    Cela simplifie- t -il le problème?

  6. #6
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Que donne echo $LANG et echo $GDM_LANG (voir echo $LC_CTYPE) dans un terminal ?
    Quel est l'encodage dans IDLE (options > configure > general > default source encoding) ? Si tu le force en UTF-8 cela donne quoi ?
    Quel est le comportement dans un terminal ?

    @+

    (edit: A lire aussi)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/04/2011, 14h37
  2. Ajout d'une quote (') dans une chaine de caractère
    Par moutu91 dans le forum Débuter
    Réponses: 2
    Dernier message: 19/01/2009, 11h58

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