Python3 + tkinter - aide programme copier coller

Répondre
Partager Rechercher
Salut les amis.
Dans le cadre de mon apprentissage de python, je savais aps quoi faire comme logiciel après la roulette du siteduzero, alors j'ai voulu faire une interface avec tkinter afin de gérer plusieurs copier/coller, puis de les renvoyer chacun à la suite.

En gros j'ai:
-le bouton A qui quand je clique dessus enregistre ce qu'il y a en copier puis le colle dans une variable A
-puis le bouton B qui fait pareil
-puis le bouton C
-puis le bouton D
-puis le bouton E qui copie à la suite les 4 variables de A,B,C,D

Déjà j'ai eu du mal à comprendre que le callback des boutons ne permttaient pas aux fonctions de renvoyer des données, donc boutonE ne trouvait aucune des variables renvoyée par les fonctions A B C D
J'ai donc utiliser des lambda, et j'ai plus de messages d'erreur donc ça a l'air de marcher.

J'ai changé tellement de fois le code que je sais plus ce que j'ai testé ou pas, mais ça a jamais marché, voici le code actuel:

Code:
from tkinter import *

root=Tk()
root.title("Super copier coller")

def fonctionA():
    variableA=root.selection_get(selection = "CLIPBOARD")
    return variableA
boutonA=Button(root,text="Bouton A",command=lambda:fonctionA)
boutonA.pack(side=LEFT)


def fonctionB():
    variableB=root.selection_get(selection = "CLIPBOARD")
    return variableB
boutonB=Button(root,text="Bouton B",command=lambda:fonctionB)
boutonB.pack(side=LEFT)


def fonctionC():
    variableC=root.selection_get(selection = "CLIPBOARD")
    return variableC
boutonC=Button(root,text="Bouton C",command=lambda:fonctionC)
boutonC.pack(side=LEFT)


def fonctionD():
    variableD=root.selection_get(selection = "CLIPBOARD")
    return variableD
boutonD=Button(root,text="Obiwan Kenobi",command=lambda:fonctionD)
boutonD.pack(side=LEFT)

def fonctionE():
    root.clipboard_clear()
    final1=variableA
    final2=variableB
    final3=variableC
    final4=variableD
    root.clipboard_append(final1,final2,final3,final4)
    return
boutonE=Button(root,text="Bouton E",command=lambda:fonctionE)
boutonE.pack(side=LEFT)

root.mainloop()
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés