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 :

text.delete(2.0, END) fonctionne pas correctement


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    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
    Par défaut text.delete(2.0, END) fonctionne pas correctement
    Après des heures de tortures informatique je me rend a vous et je capitule.
    Je n'arrive pas a effacer le contenu d'un widget Text qui contient en première ligne(1.0) des Buttons et puis insère depuis un fichier des lignes de textes, a partir de la ligne 2.0, que je voudrai effacer mais pas les widgets et:
    text_widget.delete(2.0, END)
    me laisse la première ligne des lignes de texte insérer et si je fait
    text_widget.delete(1.0, END)
    les widget Buttons et la ligne récalcitrante disparaissent aussi.
    (Je cherche a effacer toutes les lignes insérer mais pas les widgets)
    J'ai essayer plusieurs combinations de coordonnées: linestart, lineend... je suis trop fatigué pour les énumérer exactement.
    Je me suis torturer plusieurs heures avec les possibilités et si quelqu'un peut m'aider sa serai gentil de sa part. La mechanique du widget Text n'est pas si facile(j'ai eu du mal a placer les Buttons dans le bon ordre et bien dimensionner sur la première ligne) sa serai sympa de me donner le kick (Current, + char, ou ce que vous voulez tant que sa marche) que j'ai pas trouver, car sa m'offrirai un large horizon pour la continuation de mon programme.
    Je suis dans une impasse aider moi SVP.

  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,

    Si cela réagit de la sorte c'est que tu insère juste après tes boutons (en 1.0).
    Tu dois forcer le saut de ligne avant de mettre ton texte.
    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
     
    import Tkinter
     
    def videtxt():
        txt.delete(2.0, Tkinter.END)
     
    root=Tkinter.Tk()   
    txt = Tkinter.Text(root)
    txt.pack()
    btfrm = Tkinter.Frame(txt, bd=0)
    Tkinter.Button(btfrm, text='vide', command=videtxt).pack(side=Tkinter.LEFT)
    Tkinter.Button(btfrm, text='quit', command=root.destroy).pack(side=Tkinter.LEFT)
    btfrm.pack()
    txt.window_create(1.0, window=btfrm)
    txt.insert(Tkinter.END, "\n") # <<<<<<<<<<<<<<
    txt.insert(Tkinter.END, 'ligne 1')
    root.mainloop()
    Autre méthode (bien meilleure).
    Le Widget prend 1 caractère donc

    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
    import Tkinter
     
    def videtxt():
        txt.delete(1.1, Tkinter.END) # <<<<<<<<< 1.1
     
    root=Tkinter.Tk()   
    txt = Tkinter.Text(root)
    txt.pack()
    btfrm = Tkinter.Frame(txt, bd=0)
    Tkinter.Button(btfrm, text='vide', command=videtxt).pack(side=Tkinter.LEFT)
    Tkinter.Button(btfrm, text='quit', command=root.destroy).pack(side=Tkinter.LEFT)
    btfrm.pack()
    txt.window_create(1.0, window=btfrm)
    txt.insert(Tkinter.END, 'ligne 1')
    root.mainloop()
    Bon code

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

Discussions similaires

  1. Internet explorer 7 ne fonctionne pas correctement
    Par innova dans le forum Windows XP
    Réponses: 17
    Dernier message: 30/05/2007, 10h10
  2. Réponses: 18
    Dernier message: 19/04/2007, 17h42
  3. [MySQL] Mon code ne fonctionne pas correctement
    Par bebas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/02/2007, 13h27
  4. Le débogage ne fonctionne pas correctement
    Par BNS dans le forum Visual C++
    Réponses: 4
    Dernier message: 13/07/2006, 13h59
  5. Réponses: 13
    Dernier message: 31/08/2005, 14h03

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