logo       

Re: Recherche Widget table pour du tkinter: msg#00023

python.french

Subject: Re: Recherche Widget table pour du tkinter

Je suis sur OS X (Posix) et peut-être y a-t-il une différence avec du Linux que je vais tester demain.

Bizarre, chez moi ça marche (aux corrections mineures de syntaxe près, dans le script que tu as copié dans ton courriel)...

De quelle corrections parles -tu ?

Merci bien pour ton aide.

FR


Le 30 mai 06 à 17:32, David Douard a écrit :

Bizarre, chez moi ça marche (aux corrections mineures de syntaxe près, dans le script que tu as copié dans ton courriel)...


2006/5/30, Chalaoux FR < chalaouxfr@xxxxxxxxxx>:
Dommage, ça ne fonctionne pas non plus.
Merci pour le l'info. Ca donne à creuser.

FR

Le 30 mai 06 à 12:27, David Douard a écrit :

Salut,
peut-être en remplacant :
return event.widget.text
par
return event.widget['text']
dans setColor, vu que le 'text' d'un Label est une ressource du widget Tk, et non un attribut de la classe Python Label.

David


-- 
David Douard                                 LOGILAB, Paris (France)
Formations Python, Zope, Plone, Debian:   http://www.logilab.fr/formations
Développement logiciel sur mesure:       http://www.logilab.fr/services
Informatique scientifique:               http://www.logilab.fr/science


Le 26/05/06, Chalaoux FR <chalaouxfr@xxxxxxxxxx> a écrit :
Finalement, j'ai placé mes widgets avec le layout "grid".
J'arrive ŕ récupérer l'instance du label cliqué avec le 'bouton 1' par l'analyse de l'event mais je n'arrive pas récupérer l'attribut 'text' (voir le message d'erreur).

???

A+, FR

Exception in Tkinter callback
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__
    return self.func(*args)
  File "/Users/frchalaoux/Documents/workspace/assistance/src/test.py", line 10, in bouton1
    txt = setColor(event)
  File "/Users/frchalaoux/Documents/workspace/assistance/src/test.py", line 43, in setColor
    return event.widget.text
AttributeError: Label instance has no attribute 'text'


# -*- coding: utf-8 -*-
from Tkinter import *

def create_labels(dimi,dimj):
"" Return a list of Label instances"""

    names = []
    labels = []
    for i in range(dimi*dimj):
        name = str(i+1)
        names.append(name)
    for i in names:
        i = Label(win,text=i,relief=RIDGE)
        labels.append(i)
    return labels

def bouton1(event):
    """ Callback"""
    print "Vous avez enfonçé sur le 'bouton 1' comme un malade "
    txt = setColor(event)
    #Utilise le txt pour d'autres choses

def setColor(event):
    """ Change la couleur du label cliqué et retourne le text du label"""
    print "Widget=%s X=%s Y=%s" %(event.widget , event.x, event.y)
    event.widget.config(bg="#888")
    for attr in dir(event):
        print attr, "=>", getattr(event,attr)
    return event.widget.text

if __name__ == "__main__":
    # Debut programme graphique
    win = Tk()
    dimi = 2
    dimj = 2
    labels = create_labels(dimi,dimj)
    it = iter(labels)
    for i in range(dimi):
        for j in range(dimj):
            l = it.next()
            l.grid(row=i,column=j,sticky=NSEW)
            l.config (bg="#666")
            l.bind('<Button-1>',bouton1)

   
    win.mainloop()



Le 3 mai 06 ŕ 22:33, Alexandre Fayolle a écrit :

On Wed, May 03, 2006 at 08:06:29PM +0200, Chalaoux FR wrote:
Salut,

Je souhaite attribuer un objet ŕ chaque cellule d'un tableau d'une  
widget tkinter

Cette cellule devra :

- avoir une de fond couleur
- pourvoir héberger du texte
- ętre cliquable afin de déclencher une action

Il semble qu'en stardard, il n'y ai pas grand chose dans tkinter et  
pourtant je suis obligé de l'utiliser.

Tu trouveras peut-ętre ton bonheur sur

Voir également Pmw ( http://pmw.sourceforge.net /) :


Google devrait te ramener d'autres candidats.

-- 
Alexandre Fayolle                              LOGILAB, Paris (France)
Formations Python, Zope, Plone, Debian:  http://www.logilab.fr/formations
Développement logiciel sur mesure:       http://www.logilab.fr/services
Informatique scientifique:               http://www.logilab.fr/science





<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise