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 :

.tag_cget(tagname, option) ne fonctionne pas


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2010
    Messages : 24
    Par défaut .tag_cget(tagname, option) ne fonctionne pas
    Bonjour,

    pour récupérer la valeur de l'option "foreground" du tag "1" de mon widget Text nommé champTexte, je lui applique la méthode suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print(champTexte.cget(1, "foreground"))
    j'obtiens le message d'erreur:

    TypeError: cget() takes 2 positional arguments but 3 were given
    j'ai trouvé cette réponse, mais je ne sais pas comment l'exploiter!

    par ailleurs, ceci ne fonctionne pas mieux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print(champTexte.cget(1, "-foreground"))

    https://groups.google.com/forum/?fro...on/Mi2HMOaGtEE

    > The tag_cget method of the Text widget needs preceding hyphen in the
    > argument, such as:
    >
    > text.tag_cget('-background')
    >
    > It seems inconsistent with the other cget methods of widgets. Is this a
    > bug?
    Oops, yes!

    Try this version:

    def tag_cget(self, tagName, option):
    if option[:1] != '-':
    option = '-' + option
    if option[-1:] == '_':
    option = option[:-1]
    return self.tk.call(self._w, 'tag', 'cget', tagName, option)

    --Guido van Rossum (home page: http://www.python.org/~guido/)
    Merci de me dépanner!

  2. #2
    Expert confirmé

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Le premier argument est de trop, c'est au widget texte que tu applique le cget.

    Si c'est l'option foreground du tag que tu veux récupérer, tu dois appliquer le cget au tag lui-même. Si toutefois c'est possible.

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    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 743
    Par défaut
    Salut,
    Si la méthode à appeler est .tag_cget pourquoi appeler .cget?
    Le bug report que vous mentionnez date de 1999.
    Il a été corrigé depuis.
    Essayer avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    w.tag_cget(1, "foreground")
    modulo que la réponse à la question initiale.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2010
    Messages : 24
    Par défaut
    Désolé!

    c'est évidemment ".tag_cget" que je voulais utiliser. J'ai rectifié et ça fonctionne.

    Merci!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/11/2013, 08h45
  2. select.option.add() ne fonctionne pas
    Par Xeuch dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/05/2013, 10h29
  3. Option "Lancer dans le terminal" qui ne fonctionne pas avec Konsole
    Par Dr Rodney Mckay dans le forum Qt Creator
    Réponses: 0
    Dernier message: 19/01/2013, 15h40
  4. Réponses: 2
    Dernier message: 25/02/2009, 10h05
  5. Réponses: 7
    Dernier message: 10/01/2006, 10h27

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