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 :

Appeler fonction quand taille fenêtre modifier TKINTER


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    Août 2021
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : Août 2021
    Messages : 69
    Par défaut Appeler fonction quand taille fenêtre modifier TKINTER
    Bonjour,

    Je voudrais savoir comment faire pour appeler une fonction dès qu'un utilisateur modifie la taille de la fenêtre (Mon but final étant d'afficher (entres autres) un texte à TailleFenetreX - ... et à Taille FenetreY - ... par exemple

    PS: et savoir comment mettre une fenêtre en plein écran tout en conservant les boutons de contrôle et le titre de la fenêtreNom : Screenshot_1.png
Affichages : 326
Taille : 1,6 Ko

    Dymon

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,

    La modification des dimensions d'une fenêtre génère l'évènement Configure.
    Sous Windows une fenêtre passe en plein écran avec .attributes('-fullscreeen', True).

    Informations qui se trouvent assez rapidement sur Internet avec des exemples...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    Août 2021
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : Août 2021
    Messages : 69
    Par défaut
    Merci pour l'évènement configure mais la fonction .attributes('-fullscreeen', True) ne permet pas de modifier manuellement la taille de la fenêtre
    Je voudrais que le "plein écran" fasse comme ça: Nom : Screenshot_2.png
Affichages : 201
Taille : 12,7 Ko

    Dymon

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par dymon2021 Voir le message
    mais la fonction .attributes('-fullscreeen', True) ne permet pas de modifier manuellement la taille de la fenêtre
    Je ne sais pas trop ce que vous entendez par "manuellement": l’icône "passer en plein écran" en haut à droite qui le fait déjà...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    Août 2021
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : Août 2021
    Messages : 69
    Par défaut
    Par manuellement j'entends modifier avec les flèches Nom : Screenshot_3.png
Affichages : 197
Taille : 6,9 Ko

    Dymon

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par dymon2021 Voir le message
    Par manuellement j'entends modifier avec les flèches
    Avec les flèches, l'utilisateur fait ce qu'il veut. Et si vous voulez qu'arrivé à une certaine dimension ça passe en "fullscreen", il suffit de le coder.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre confirmé
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    Août 2021
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : Août 2021
    Messages : 69
    Par défaut
    Je m'excuse de ne pas être clair,
    Fullscreen de attributes nous donne ceci: Nom : Screenshot_4.png
Affichages : 191
Taille : 11,5 Ko
    or moi je voudrais ceci: Nom : Screenshot_2.png
Affichages : 181
Taille : 12,7 Ko

  8. #8
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Je voudrais savoir comment faire pour appeler une fonction dès qu'un utilisateur modifie la taille de la fenêtre (Mon but final étant d'afficher (entres autres) un texte à TailleFenetreX - ... et à Taille FenetreY - ... par exemple
    Si la question est de modifier le contenu d'une fenêtre lors de son redimentionnement à l'aide des flèches, ça ne me semble pas si trivial que ça.
    Ci-dessous, j'ai essayé de modifier la largeur d'un canvas lors du redimensionnement de la fenêtre principale à l'aide des flèches. Et manifestement, ce n'est pas la bonne façon de procéder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import tkinter as tk
    root = tk.Tk()
     
    def callback(evt):
            print(evt.width)
            can['width']=evt.width
     
    can = tk.Canvas(root,bg="black")
    can.grid()
    can.create_text(200,200, text="YOP", font=("helvetica",40), fill="red")
    root.bind("<Configure>", callback)
     
    root.mainloop()
    @wiztricks : Pourrais-tu me/nous montrer comment il faut s'y prendre?

    édit: et si mon interrogation n'est pas celle du PO, pas de souci je créerai mon propre post

  9. #9
    Membre confirmé
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    Août 2021
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : Août 2021
    Messages : 69
    Par défaut
    @Hominidé Je ne sais pas si ça répond à ta question mais j'ai ça:
    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
    from tkinter import *
     
    def MiseAjour(event):
        global  largeurFenetre, hauteurFenetre
     
        print("paramètre modifié")
        largeurFenetre = fenetre.winfo_width()
        hauteurFenetre = fenetre.winfo_height()
        print(largeurFenetre,hauteurFenetre)
        label.place(x=largeurFenetre - 35, y=hauteurFenetre - 20)
     
    fenetre = Tk()
    largeurFenetre = 300
    hauteurFenetre = 300
    fenetre.geometry(str(largeurFenetre)+"x"+str(hauteurFenetre))
    fenetre.attributes("-fullscreen",True)
    fenetre.bind("<Configure>",MiseAjour)
    label = Label(fenetre,text="TEST")
    #label.place(x=largeurFenetre - 35, y=hauteurFenetre - 20)
    fenetre.mainloop()
    Fichiers attachés Fichiers attachés

  10. #10
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par défaut
    non pas vraiment, la méthode winfo_width() appelle elle aussi l'événement '<Configure'>... merci d'avoir essayé.
    Du coup comme ma problématique est différente de la tienne, je ne vais pas squattter d'avantage ton post. Je vais créer le mien

  11. #11
    Membre confirmé
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    Août 2021
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : Août 2021
    Messages : 69
    Par défaut
    Dommage, Bon courage pour trouver la solution
    Dymon

  12. #12
    Invité
    Invité(e)
    Par défaut
    Oh merde, je viens d'apprendre que le créateur de Tkinter et PIL (Fredrik Lundh alias Effbot) est mort en fin d'année dernière !

    Une archive de son site en rapport avec la demande du PO : https://web.archive.org/web/20201111...ngs.htm#events

    Pour mettre en "plein-écran" mais pas tout à fait, tu peux jouer avec la taille de la fenêtre et l'attribut topmost :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> root = Tk()
    >>> h = root.winfo_screenheight()
    >>> w = root.winfo_screenwidth()
    >>> root.geometry(f"{w}x{h}+0+0")
    ''
    >>> root.attributes('-topmost', True)
    ''
    RIP Effbot

  13. #13
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,

    Déjà avec un exemple de code, on voit mieux le problème... Et on peut le décrire: lorsque l'utilisateur redimensionne la fenêtre çà génère l'event configure mais ça en génère aussi un autre lorsqu'on modifie la taille de la fenêtre (can['width']=evt.width). Du coup, on est submergé par les configure et çà "boucle" avec des appels répétés au callback.

    Une fois qu'on comprend la mécanique infernale qui se met en branle, on peut mettre à plat la séquence d'évènements et trouver des solutions.

    L'une d'entre elles est d'ignorer les appels au callback pendant un "petit" intervalle de temps:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    last_time = time.time()
    def callback(evt):
        global last_time
     
        now = time.time()
        if now - last_time > 0.05:
            can['width']=evt.width
            last_time = now
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  14. #14
    Invité
    Invité(e)
    Par défaut
    Une autre soluce est peut-être de binder à la fois ButtonRelease et Configure ?
    Si bouton relaché à t0 et redimensionnement à t0+/-5msec faire ...

  15. #15
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 252
    Par défaut
    Hello,
    Citation Envoyé par dymon2021 Voir le message
    PS: et savoir comment mettre une fenêtre en plein écran tout en conservant les boutons de contrôle et le titre de la fenêtreNom : Screenshot_1.png
Affichages : 326
Taille : 1,6 Ko

    Dymon
    Pour mettre une fenêtre en taille maximale avec la barre de titre au lieu de faire un fenetre.attributes("-fullscreen",True) faire un fenetre.state('zoomed')

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    from tkinter import *
     
    fenetre = Tk()
    largeurFenetre = 300
    hauteurFenetre = 300
    fenetre.state('zoomed')
    fenetre.mainloop()
    Pour le souci d' Hominidé, le problème vient du fait que lorsque tu redimensionnes le canvas à la taille de la fenêtre cela redimensionne la fenêtre à une taille différente (car le canvas est alors trop grand) ce qui engendre un bouclage infernal.Il faut redimensionner le canvas par rapport à sa taille initiale ( - 4 pixels par rapport à la fenêtre root voir pourquoi ci-dessous).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    print('root : ',root.winfo_width(),'x',root.winfo_height())
    print('canvas : ',can['width'],'x',can['height'])
    donne :
    root : 477 x 335
    canvas : 473 x 331
    ce code qui redimensionne à la fois la largeur et la hauteur fonctionne chez moi :
    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
    import tkinter as tk
    root = tk.Tk()
     
    def callback(evt):
            print(evt.width,'x',evt.height)
            can['width'],can['height'] = evt.width-4,evt.height-4
     
    can = tk.Canvas(root, bg="black")
    can.grid()
    #can.pack(fill="both", expand=True)
    can.create_text(200, 200, text="YOP", font=("helvetica", 40), fill="red")
    root.bind("<Configure>", callback)
    root.update()
    print('root : ',root.winfo_width(),'x',root.winfo_height())
    print('canvas : ',can['width'],'x',can['height'])
    root.mainloop()
    D'autre part pour Pourquoi ne redimensionnes-tu pas le canvas automatiquement par un can.pack(fill="both", expand=True) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import tkinter as tk
    root = tk.Tk()
     
    can = tk.Canvas(root, bg="black")
    can.grid()
    can.pack(fill="both", expand=True)
    can.create_text(200, 200, text="YOP", font=("helvetica", 40), fill="red")
    root.update()
    print('root : ',root.winfo_width(),'x',root.winfo_height())
    print('canvas : ',can['width'],'x',can['height'])
    root.mainloop()
    Ami calmant, J.P

  16. #16
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Citation Envoyé par Jurassic Pork
    Pour le souci d' Hominidé, le problème vient du fait que lorsque tu redimensionnes le canvas à la taille de la fenêtre cela redimensionne la fenêtre à une taille différente (car le canvas est alors trop grand) ce qui engendre un bouclage infernal.Il faut redimensionner le canvas par rapport à sa taille initiale ( - 4 pixels par rapport à la fenêtre root voir pourquoi ci-dessous).
    Ah oui, j'aurai pu y pensé
    Merci

    Pour ce qui est de pack(), je ne l'utilise jamais ayant pris mes habitudes avec grid(). Et puis, ce code c'était pour illustrer la réponse de @wiztricks au PO, au cas où le PO n'aie pas l'expérience suffisante avec tkinter pour la mettre en oeuvre... et je me suis retrouvé avec ce souci^^

    édit: @Jurassic Pork je viens de tester ton code, il ne marche pas... Il me semble bien que j'avais essayé un truc du genre.Je viens de me réveiller et j'ai répondu avant mon premier café . Chose à ne jamais faire^^ . Je n'avais même pas vu les autre réponses... que je vais regarder après mon 2eme café ^^

  17. #17
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    Une autre soluce est peut-être de binder à la fois ButtonRelease et Configure ?
    Si bouton relaché à t0 et redimensionnement à t0+/-5msec faire ...
    à vol d'oiseau, non ça ne changera rien
    Citation Envoyé par wiztricks
    Salut,

    Déjà avec un exemple de code, on voit mieux le problème... Et on peut le décrire: lorsque l'utilisateur redimensionne la fenêtre çà génère l'event configure mais ça en génère aussi un autre lorsqu'on modifie la taille de la fenêtre (can['width']=evt.width). Du coup, on est submergé par les configure et çà "boucle" avec des appels répétés au callback.

    Une fois qu'on comprend la mécanique infernale qui se met en branle, on peut mettre à plat la séquence d'évènements et trouver des solutions.
    Merci pour ta solution,
    Je m'étais apperçu de cette mécanique sans pour autant arriver à la résoudre... J'avais essayé avec un flag mais cela n'a pas eu le comportement que j'imaginais , du coup j'ai donné ma langue au chat...

  18. #18
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    Je m'étais apperçu de cette mécanique sans pour autant arriver à la résoudre... J'avais essayé avec un flag mais cela n'a pas eu le comportement que j'imaginais , du coup j'ai donné ma langue au chat...
    Yup... mon truc sert à gérer la cascade lorsqu'on doit gérer les évènements configure.

    Si le problème est comment faire pour que la Canvas occupe les nouvelles dimensions de la fenêtre, alors c'est le gestionnaire de positionnement qu'il faut utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import tkinter as tk
    root = tk.Tk()
     
    ## def callback(evt):
    ##         print(evt.width)
    ##         can['width']=evt.width
     
    can = tk.Canvas(root,bg="black")
    can.grid()
    can.grid(sticky='nwse', column=0, row=0)
    can.create_text(200,200, text="YOP", font=("helvetica",40), fill="red")
    ## root.bind("<Configure>", callback)
     
    root.mainloop()
    inutile de coder pour résoudre un problème qui a déjà sa solution...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  19. #19
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Yup... mon truc sert à gérer la cascade lorsqu'on doit gérer les évènements configure.
    Oui nous nous sommes compris. Il s'agit bien de cas dont il était question

  20. #20
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par wiztricks Voir le message

    Si le problème est comment faire pour que la Canvas occupe les nouvelles dimensions de la fenêtre, alors c'est le gestionnaire de positionnement qu'il faut utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import tkinter as tk
    root = tk.Tk()
     
    ## def callback(evt):
    ##         print(evt.width)
    ##         can['width']=evt.width
     
    can = tk.Canvas(root,bg="black")
    can.grid()
    can.grid(sticky='nwse', column=0, row=0)
    can.create_text(200,200, text="YOP", font=("helvetica",40), fill="red")
    ## root.bind("<Configure>", callback)
     
    root.mainloop()
    inutile de coder pour résoudre un problème qui a déjà sa solution...

    - W
    Par contre can.grid(sticky='nwse', column=0, row=0) ne redimentionne pas le canvas lorsque l'on modififie root à l'aide des flèches.
    Contrairement à l'utilisation de can.pack(fill="both", expand=True) ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Appeler un fonction de la fenêtre parente
    Par joKED dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/04/2007, 14h50
  2. popup et appel fonction dans fentre parent
    Par wehtam dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/11/2006, 16h25
  3. Appel fonction quand curseur relaché
    Par Invité dans le forum Tkinter
    Réponses: 3
    Dernier message: 01/06/2006, 09h51
  4. Réponses: 7
    Dernier message: 12/03/2006, 21h18
  5. [Javascript] Appeler une fonction d'une fenêtre parente
    Par TekP@f dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/08/2005, 11h33

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