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 :

Accents dans widget


Sujet :

Tkinter Python

  1. #1
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut Accents dans widget
    Bonjour,

    Je cherche à afficher des caractères latin type 'é' 'è' 'à' sur les widgets.
    Et bien sur si je fais juste (text= "àccént") dans le constructeur du widget, Tk m'affiche un joli carré

    Comment puis-je faire s'il vous plait ?
    Merci d'avance.

  2. #2
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Le type par défaut du texte des widgets Tkinter est le type unicode alors je pense qu'il faudrait le préciser ainsi:
    cela ne vaut que pour les version inférieur a python 3 car le type par défaut de ceux-çi est le type string alors qu'en version 3 le type par défaut est l'unicode, tu peut vérifier le type de ta variable avec la primitive type qui renvoie le type de l'objet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    a="texte de type string"
    type(a)
    <type 'str'>
    b=u"texte de type unicode"
    type(b)
    <type 'unicode'>
    Bon python a toi.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  3. #3
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    C'est vrai qu'on s'y perd facilement, entre le codage du script, de la sortie console et celui de la sortie graphique. Le petit snippet ci dessous peut aider. SUr la copie d'écran, l'éditeur est sciite, python est en version 2.7 et l'OS est un windows XP32

    A+

    Pfeuh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/usr/bin/python
    # -*- coding: latin -*-
     
    import Tkinter
    root = Tkinter.Tk()
    words = ["azerty", u"azerty", u"héhé", "héhé"]
    for word in words:
        Tkinter.Label(root, text=word).grid()
        print type(word),
        try:
            print word
        except:
            print "<unprintable>"
    root.mainloop()

  4. #4
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Puisque tu aborde le sujet pourrait tu me mettre sur la voie qui mène vers une technique permettant d'extraire tous les caractères présent dans l'encodage des claviers latins (ISO8859-15???).
    Je n'ai pas encore essayer mais l'idée me titille depuis longtemps et je ne vois pas par oû commencer: utiliser encode() ?
    ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    -#!!/usr/bin/python
    # -*- coding: latin -*-
    #et puis après je sais pas...
    en faite je sais pas ou commencer concrètement.
    Si ta une idée sa serai sympa.
    Puisque c'est le sujet...
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  5. #5
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    En fait, je suis comme toi, des problèmes d'encodage, j'en ai aussi. Ce que j'ai retenu, c'est que

    1- Si tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -#!!/usr/bin/python
    # -*- coding: latin -*-
    au début de ton source, tous les caractères latins présents dans ton source seront correctement interprétés.

    2- A partir du moment où tu es en graphique (sous Tkinter par exemple), tout est en unicode, donc plus de problème.

    Les avis plus pointus, tant pour Luke que pour moi sont les bienvenus!

Discussions similaires

  1. [FLASH MX2004] Problème accent dans un XML
    Par cinetryx dans le forum Flash
    Réponses: 10
    Dernier message: 30/05/2007, 00h26
  2. Ne pas tenir compte des accents dans une requete
    Par zamanika dans le forum Installation
    Réponses: 8
    Dernier message: 08/11/2004, 19h49
  3. Accents dans une console windows
    Par JolyLoic dans le forum Windows
    Réponses: 8
    Dernier message: 20/10/2004, 00h57
  4. Réponses: 5
    Dernier message: 08/03/2004, 10h28
  5. Table Access et Accents dans TDBGrid
    Par puzpuz_vannes dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/11/2003, 22h23

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