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 :

Chaine de caractères affichée en haut d'une ligne comme un exposant


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Loisir
    Inscrit en
    Mars 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Mars 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Chaine de caractères affichée en haut d'une ligne comme un exposant
    Bonjour, je travail avec une version 3.2 de Python sous W7.

    Je cherche la façon d'afficher, dans un Label TK, la numérotation de tour tel que "1er tour", "2ème tour" ..... en affichant "er" et "ème" en haut de la ligne comme pour un exposant, est-ce que cela est possible, car je n'ai rien trouvé dans les forums ou sur les sites parlant de Python, ou je n'ai pas posé la bonne question !!!

    Merci de votre aide

    @ + KIKI

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Avec un GUI comme TK, les caractères affiches sortent d'une police/Font de caractères: Arial, Verdana,...
    Ce qui apparaît a l’écran est le "rendu" (le "glyph" est le nom technique) associe a un entier (le numéro de caractère).
    Dans la pratique, si vous avez affiche un texte en Arial, pour l'afficher en Verdana, le texte (la suite d'entiers associes) ne changera pas: le GUI re-affiche le texte avec la police.

    Ca c'est le principe.
    Après, 1er , 2nd,... J’espère que les abréviations de premier, second sont "visibles" sur votre écran.
    Première difficulté, impossible d’écrire le texte correspondant sans signaler "attention ne pas écrire 'er' ou 'nd' directement mais afficher les abréviations de...
    Regarder le HTML du document, vous y trouverez 1er , 2nd.
    Autrement dit, l'intention "afficher des abréviations" est signalée par des "balises".
    Ces balises devront être interprétée pour afficher un rendu conforme a ce qui est attendu.

    Un document Word pourra coder cette balise autrement, mais sans le petit truc qui dit comment on veut "afficher", ça ne le fera pas.

    L’interpréteur de ces balises sera le navigateur Web, Word, ... un programme qui se débrouille pour afficher avec le rendu attendu.
    Parfois on peut piocher dans la "police courante": allez regardez dans Accessoires => System Tools => Character Map.
    Vous ne trouverez pas le dessin des 'er'/'nd'.
    Et a priori, il faudra pouvoir changer de police.

    A un widget comme un Label TK, vous ne pouvez pas afficher plusieurs "polices" dans le "text". C'est râpé.
    Un widget comme Text permettra de faire mieux: cote mélange de polices, vous pourrez afficher un bout de texte avec la police X, la suite avec la police Y,...
    Après il va falloir écrire le code pour que ça le fasse bien...

    Tout ça pour dire qu'il y a du boulot pour que le simple widget Text affiche un résultat satisfaisant.
    Et encore plus de boulot pour en faire un éditeur de texte...

    Vous voyez un peu la galère?
    Faites simple!

    Vos "1er" , "2nd",... sont des "Labels" taille et police pourront être "fixes".
    Vous pourriez fabriquer les images (des fichiers .GIF) de "1er" , "2nd".
    Label(image=...) et hop ça le fait.

    A vous de voir.

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

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Loisir
    Inscrit en
    Mars 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Mars 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Merci
    Merci wiztricks d'avoir pris le temps de me répondre.

    Je comprend mieux maintenant pourquoi je ne trouvais pas de réponses sur les forums.

    Je vais essayer de prendre ta deuxième solution, à laquelle j'avais pensé, mais je pense que cela ne va pas être simple de jouer avec plusieurs Labels et une image du texte voulu dans un des Labels.

    @ + KIKI

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Loisir
    Inscrit en
    Mars 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Mars 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Autre solution
    Bonjour, pour info j'ai cherché une solution avec plusieurs Label.

    J'ai opté pour un placement des Labels dans une Frame avec la méthode place(x= , y= ) ce qui n'est pas simple à gérer, mais qui donne le résultat voulu.

    from tkinter import *

    fen = Tk()
    fen.geometry("400x300")
    fgrise= Frame(fen,bg ='gray47')
    fgrise.pack (side =BOTTOM, padx =15, pady =15)
    fdroite = Frame(fgrise,height = 200, width = 200,bg= "medium slate blue",bd =5,relief =GROOVE)
    fdroite.grid(row=0,column=0,padx=15,pady=15)
    Label(fdroite, text = 'Nom du joueur A',font="Arial 12",bg= "medium slate blue").place (x= 35, y=10, height = 25, width = 120)
    joueurA=Label(fdroite, text = "joueur_A",fg ='blue',font="Arial 12")
    joueurA.place (x= 20, y=40, height = 25, width = 150)
    Label(fdroite, text = 'Tirage',font="Arial 12",bg= "medium slate blue").place (x= 50, y=70, height = 25, width = 90)

    tourA=Label(fdroite, text = '52',font="Arial 12",fg ='blue',anchor = E)
    tourA.place (x= 45, y=110, height = 25, width = 30)
    trA=Label(fdroite,text="éme",font="Arial 8",bg ='medium slate blue')
    trA.place (x= 75, y=100, height = 20, width = 30)
    A=Label(fdroite,text="Tour",font="Arial 12",bg ='medium slate blue').place (x= 100, y=110, height = 25, width = 40)


    carteA=Label(fdroite, text = 'Carte joueur A',fg ='blue',font="Arial 12")
    carteA.place (x= 20, y=150, height = 25, width = 150)

    fen.mainloop ()

    voir listing joint

    @+ kikipython44
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2007] récupérer chaine de caractère en plusieurs étapes dans une combobox via variable
    Par chombriko dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 21/05/2012, 09h43
  2. Réponses: 2
    Dernier message: 25/02/2011, 10h36
  3. traitement chaine de caractères dans la création d'une vue
    Par dudu40 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 12/01/2011, 22h37
  4. Afficher le haut d'une fenêtre avec scrollbar
    Par Léa53 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/05/2009, 11h33
  5. [RegEx] Tronquer une chaine de caractère sauf si c'est une URL.
    Par psychoBob dans le forum Langage
    Réponses: 16
    Dernier message: 03/06/2006, 12h01

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