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 :

Widget de zone de texte


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 27
    Points : 9
    Points
    9
    Par défaut Widget de zone de texte
    Bonjour,
    je débute en Tkinter et j'ai plusieurs questions :
    - Quel widget faut-il ultiliser afin d'obtenir une zone de texte dans laquelle l'utilisateur peut écrire et dont on peut modifier la largeur (zone de plusieurs lignes). En fait, je cherche un widget qui a les propriétés d'une ligne de saisie mais sur plusieurs lignes et non une seule.
    - Comme vous le voyez ci dessous, j'ai une fonction qui permet de d'afficher un nombre aléatoire de 16 chiffres dans une case après avoir cliqué sur un bouton. Cependant, lorsque l'on reclique sur le bouton, un autre nombre aléatoire s'affiche à la suite du premier nombre. J'aimerais que le premier soit effacé lorsque l'on clique une nouvelle fois sur le bouton. Ainsi, il n'y aurait toujours qu'un seul nombre dans la case. Je pensais qu'avec les deux dernières lignes de ma fonction cela marcherait mais non. Visiblement il me manque une information.
    def aléatoire() :
    cle = ""
    while(len(cle)<16):
    cle += str(random.randint(0,9))
    ligne_cle.insert("insert", cle)
    ligne_cle.select_adjust(0)
    ligne_cle.select_clear()
    return

    SVP
    Merci

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    - Quel widget faut-il ultiliser afin d'obtenir une zone de texte dans laquelle l'utilisateur peut écrire et dont on peut modifier la largeur (zone de plusieurs lignes). En fait, je cherche un widget qui a les propriétés d'une ligne de saisie mais sur plusieurs lignes et non une seule.
    Le widget Text

    - Comme vous le voyez ci dessous, j'ai une fonction qui permet de d'afficher un nombre aléatoire de 16 chiffres dans une case après avoir cliqué sur un bouton.
    afficher où?

    Si c'est dans un widget Text, il y a une méthode permettant de nettoyer avec delete.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 27
    Points : 9
    Points
    9
    Par défaut
    Je veux supprimer le contenu de ma case quand on clique sur le bouton.
    le .delete ne convient pas ... il faut qu'il y ait toujours un nombre aléatoire de 16 chiffres dans la case (à partir du moment où on clique sur le bouton) mais pas 2 ni 0. Peut etre que le .delete convient mais dans ce cas je ne sais pas l'utiliser.
    Merci

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Si tu ne dis pas ce que c'est que ta "case", on pourra difficilement t'aider.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 27
    Points : 9
    Points
    9
    Par défaut
    Ma case est un Entry.
    Je vais vous mettre un extrait de mon code, ça sera plus simple.

    from tkinter import *
    import random

    fenetre = Tk()

    #Fonctions
    def aléatoire() :
    cle = ""
    while(len(cle)<16):
    cle += str(random.randint(0,9))
    ligne_cle.insert("insert", cle)
    ligne_cle.select_range(0,15)
    ligne_cle.select_clear()
    #ligne_cle.delete(0,16)
    return

    #Clé
    clé = Label(fenetre, text="Clé :")
    clé.place(x=750,y=80)

    ligne_cle = Entry(fenetre, width=40)
    ligne_cle.place(x=820,y=80)

    bouton_aléatoire = Button(fenetre, text="Aléatoire", command=aléatoire)
    bouton_aléatoire.place(x=950,y=76)

    fenetre.mainloop()

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Il me semble pourtant avoir compris, mais comme les images sont plus facilement lisible que des écrits, voici l'image !

    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
    from tkinter import Tk, Entry, Button, END
    from random import randint
     
    def rand():
        ent.delete(0, END)
        ent.insert(0, str(randint(0, 17)))
     
    root = Tk()
     
    ent = Entry(root, width=2)
    ent.pack()
     
    button = Button(root, text="generate", command=rand)
    button.pack()
     
    root.mainloop()
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/07/2004, 21h00
  2. Réponses: 9
    Dernier message: 26/04/2004, 21h51
  3. Alinéa de Zone de texte
    Par oazar dans le forum Flash
    Réponses: 3
    Dernier message: 10/12/2003, 11h52
  4. fonction qui initialise a blanc zone de texte
    Par access dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/11/2003, 16h36
  5. zones de texte
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 07/11/2003, 14h32

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