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 :

Binding à Tk ou Text et sélection de tout le contenu d'un widget text


Sujet :

Tkinter Python

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 160
    Points : 91
    Points
    91
    Par défaut Binding à Tk ou Text et sélection de tout le contenu d'un widget text
    Bonjour, j'ai un widget text et j'ai fait une fonction selectall pour sélectionnner tout le contenu du widget text. J'ai fait différents test pour m'assurer que le binding est bien spécifique au widget spécifié dans la commande. Mon problème est que si le binding est effectué sur le widget Tk contenant le widget text, ca marche: tout le contenu de mon qidget text est sélectionné (faire ctrl + D dans mon exemple), mais si le binding est fait sur le widget text directement, la sélection ne se fait pas (ctrl, + A). En revanche le binding est bien fonctionnel (ctrl+U) pour mon widget text.

    Ou est mon erreur?
    comment faire fonctionner ma fonction selectall en la liant au widget text (si c'est possible...)

    merci d'avance

    voici le code de l'exemple:

    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
     
    # -*- coding:Latin-1 -*-
    #la ligne précédente est pseudo commentaire pour autoriser les é è...
     
    #####################
    from Tkinter import *
    import os
    import string
    from ScrolledText import *
     
    ####################################
    # Créationd de la fenetre principale
    def printp1(event):
    print "binding fonctionnel"
    def printp2():
    print "selection effectuée"
     
    # Sélectionne tout dans le widget text
    def selectall(event):
    text1.tag_add(SEL, "1.0", END)
    text1.focus_set()
    printp2()
    page = Tk()
    text1 = ScrolledText(page, width = 50, font = "courier")
    text1.pack(expand =1, fill='both')
    text1.insert(END, "tagada")
     
    text1.bind("<Control-Key-a>", selectall)
    page.bind("<Control-Key-d>", selectall)
     
    text1.bind("<Control-Key-u>", printp1)
     
    page.mainloop()

  2. #2
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Points : 388
    Points
    388
    Par défaut
    Bonjour,
    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    text1.bind("<Control-Key-u>", selectall)
    text1.bind("<Control-Key-a>", printp1)
    Chez moi ca marche.
    A première vue, tu ne peux pas utiliser Ctrl-a pour sélectionner du texte ...

  3. #3
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 160
    Points : 91
    Points
    91
    Par défaut
    En effet, il semble que l'on a un problème pour utiliser ctrl+A quand on veut faire un binding/sélection de tout le texte sur un objet texte. CTRL+I pose aussi problème... mais CTRL+U par exemple fonctionne parfaitement. Je suppose que c'est du à des choses qui dépassent mes capacités de compréhension de programmeur amateur.

    Du coup j'ai modifié mon code afin que le binding lié à la fenetre principale utilise bien ctrl+A, mais que cela active une méthode de mon Scrolledtext pour le sélectionnner complètement. Et ca marche...

    Merci encore pour la réponse.

  4. #4
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    je pense plutot qu'il faille lié le binding au widget text de ton scrolledText et non directement a ton scrolledText
    car si je ne me trompe pas le focus se fait sur le widget text et non sur le widget ScrolledText.

    cherche dans la doc de ScrolledText, comment atteindre l'un de ses composant (scroll, Text, ....)

  5. #5
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Points : 388
    Points
    388
    Par défaut
    Je crois plutot que le widget text a déjà les memes raccourcis clavier que le shell Linux (ctrl-a = retour début de ligne, ctrl-d= efface un caractère ...).

Discussions similaires

  1. Associer le contenu d'un widget Text à une variable
    Par MVP Chacal dans le forum Tkinter
    Réponses: 1
    Dernier message: 15/05/2014, 00h15
  2. Réponses: 4
    Dernier message: 05/05/2014, 12h25
  3. Réponses: 8
    Dernier message: 10/12/2012, 13h58
  4. Sélection et lecture du contenu d'un fichier texte
    Par arthurdubois dans le forum Débuter
    Réponses: 2
    Dernier message: 01/12/2012, 17h01
  5. Réponses: 2
    Dernier message: 20/09/2008, 21h17

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