Utiliser la fonction copier coller couper dans un champ text.insert

xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -  
xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis sur python 2.7.17 en Tkinter.
J'ai effectuer un test pour effectuer un copier coller couper.
Cela fonctionne uniquement avec les entry.
Je n'arrive pas a faire un copier coller couper depuis un champs Text.
ici T2 avec insert

Pouvez-vous m'aider ?
Merci d'avance pour votre aides et conseils.

#! /usr/bin/python
#-*-coding: utf-8 -*-

# python $HOME/Langages/python/2.7.6/Cours/test-couper-copier-coller-entry_02.py

#----------------------------------------------------------------------------------------
# LIBRAIRIES
#----------------------------------------------------------------------------------------
from Tkinter import *
from tkMessageBox import *
import Tkinter as tk
import Tkinter
import tkMessageBox

#----------------------------------------------------------------------------------------
# FONCTIONS CODE
#----------------------------------------------------------------------------------------
def creer_fenetre_principale():
global fp #fp , e1, e2
fp=Tk()
#fp = tk.Tk()
fp.title("test Couper Couper coller dans un champs de saisi entry ")

def creer_frames():
global Frame0, Frame1, Frame2, Frame3, Frame4
Frame0 = Frame(fp, borderwidth=2,relief=GROOVE, width=300, height=650) #FLAT
Frame0.grid(row=0, column=0)

Frame1 = Frame(Frame0, borderwidth=2,relief=GROOVE)#.grid(row=0) #RAISED #300x650
Frame1.grid(row=1, column=0)

Frame2 = Frame(Frame0, borderwidth=0,relief=GROOVE)#.grid(row=0)
Frame2.grid(row=2, column=0)

Frame3 = Frame(Frame0, borderwidth=0,relief=GROOVE)#.grid(row=0)
Frame3.grid(row=3, column=0)

Frame4 = Frame(Frame0, borderwidth=0,relief=GROOVE)#.grid(row=0)
Frame4.grid(row=4, column=0)

def fenetre():
Label(Frame1, text="Nom").grid(row=0)
Label(Frame1, text="Prénom").grid(row=1)
Label(Frame2, text="Texte").grid(row=0)

e1 = Entry(Frame1)
e2 = Entry(Frame1)

e1.insert(10, "Dupres")
e2.insert(10, "Charles Henry")

#e1.bind("<Button-3><ButtonRelease-3>", active_menu)
e1.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
e2.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
#T2.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)

e1.grid(row=0, column=1)
e2.grid(row=1, column=1)

S = Scrollbar(Frame3)
T2 = Text(Frame3, height=8, width=27) #height=5, width=50 8, width=45
#T2.insert(INSERT, "Bonjour.....")
MESSAGE = "Ecrire votre texte ici"
T2.insert(END, MESSAGE)
T2.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
S.pack(side=RIGHT, fill=Y)
T2.pack(side=LEFT, fill=Y)
S.config(command=T2.yview)
T2.config(yscrollcommand=S.set)
T2.pack(side = LEFT)

Button(Frame4, text='Quitter', command=fp.quit).grid(row=3, column=0, sticky=W, pady=4)
Button(Frame4, text='Valider', command=valider_entry).grid(row=3, column=1, sticky=W, pady=4)

def test():
print "MESSAGE : ",MESSAGE
T2.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
T2.tag_add("here", "1.0", "1.4")
T2.tag_config("start", background="black", foreground="green")
T2.delete(1.0,"end")
T2.insert(1.0, MESSAGE)

def creer_menu_couper_copier_coller():
global creer_menu_souris
creer_menu_souris(fp) #<---- Couper-Copier-Coller

def message_info(titre, message):
tkMessageBox.showinfo(titre, message)

def valider_entry():
print("Nom : %s\nPrenom : %s" % (e1.get(), e2.get()))
titre = "Informations"
message = "Nom : "+e1.get()+"\n"+"Prénom : "+e2.get()
tkMessageBox.showinfo(titre, message)

def coller():
print "coller"
texte = fp.clipboard_get() # récupère le contenu du presse-papier
print "coller : texte : ", texte
#e2.config(state=NORMAL)
e2.delete(0,END)
e2.insert(END, str(texte))
#e2.config(state = DISABLED)

def creer_menu_souris(w):
global options_du_menu_souris
options_du_menu_souris = Menu(w, tearoff=0)
options_du_menu_souris.add_command(label="Couper")
options_du_menu_souris.add_command(label="Copier")
options_du_menu_souris.add_command(label="Coller")

def menu_souris(e):
w = e.widget
options_du_menu_souris.entryconfigure("Couper",command=lambda: w.event_generate("<<Cut>>"))
options_du_menu_souris.entryconfigure("Copier",command=lambda: w.event_generate("<<Copy>>"))
options_du_menu_souris.entryconfigure("Coller",command=lambda: w.event_generate("<<Paste>>"))
#options_du_menu_souris.entryconfigure("Coller",command=lambda x=e1: coller(x))
options_du_menu_souris.tk.call("tk_popup", options_du_menu_souris, e.x_root, e.y_root)

#Menu Bar
def menu_bar():
menubar = Menu(fp)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="New", command=None)
filemenu.add_command(label="Open", command=None)
filemenu.add_command(label="Save", command=None)
filemenu.add_command(label="Save as...", command=None)
filemenu.add_command(label="Close", command=None)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=fp.quit)
menubar.add_cascade(label="File", menu=filemenu)

editmenu = Menu(menubar, tearoff=0)
editmenu.add_command(label="Undo", command=None)
editmenu.add_separator()
editmenu.add_command(label="Couper", command=lambda: w.event_generate("<<Cut>>"))
editmenu.add_command(label="Copier", command=lambda: w.event_generate("<<Copy>>"))
editmenu.add_command(label="Coller", command=lambda: w.event_generate("<<Paste>>"))
editmenu.add_command(label="Select All", command=None)
menubar.add_cascade(label="Edit", menu=editmenu)

helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="Help Index", command=None)
helpmenu.add_command(label="About...", command=None)
menubar.add_cascade(label="Help", menu=None)

fp.config(menu=menubar)

def executer_fonctions():
creer_fenetre_principale()
creer_frames()
fenetre()
creer_menu_couper_copier_coller()
menu_bar()

executer_fonctions()

fp.mainloop()


Configuration: Linux / Firefox 86.0

4 réponses

  1. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    le code avec les balises python du forum.
    Merci.

    #! /usr/bin/python
    #-*-coding: utf-8 -*-
    
    # python $HOME/Langages/python/2.7.6/Cours/test-couper-copier-coller-entry_02.py 
    
    #----------------------------------------------------------------------------------------
    #                                    LIBRAIRIES                                       
    #----------------------------------------------------------------------------------------
    from Tkinter import *
    from tkMessageBox import *
    import Tkinter as tk
    import Tkinter 
    import tkMessageBox
    
    #----------------------------------------------------------------------------------------
    #                                    FONCTIONS CODE                                      
    #----------------------------------------------------------------------------------------
    def creer_fenetre_principale():
        global fp #fp , e1, e2
        fp=Tk()
        #fp = tk.Tk()
        fp.title("test Couper Couper coller dans un champs de saisi entry ") 
        
    def creer_frames():
        global Frame0, Frame1, Frame2, Frame3, Frame4
        Frame0 = Frame(fp, borderwidth=2,relief=GROOVE, width=300, height=650) #FLAT
        Frame0.grid(row=0, column=0)
        
        Frame1 = Frame(Frame0, borderwidth=2,relief=GROOVE)#.grid(row=0) #RAISED #300x650
        Frame1.grid(row=1, column=0)
        
        Frame2 = Frame(Frame0, borderwidth=0,relief=GROOVE)#.grid(row=0)
        Frame2.grid(row=2, column=0)
        
        Frame3 = Frame(Frame0, borderwidth=0,relief=GROOVE)#.grid(row=0)
        Frame3.grid(row=3, column=0)
        
        Frame4 = Frame(Frame0, borderwidth=0,relief=GROOVE)#.grid(row=0)
        Frame4.grid(row=4, column=0)
    
    
        
    def fenetre():
        Label(Frame1, text="Nom").grid(row=0)
        Label(Frame1, text="Prénom").grid(row=1)
        Label(Frame2, text="Texte").grid(row=0)
    
        e1 = Entry(Frame1)
        e2 = Entry(Frame1)
        
        e1.insert(10, "Dupres")
        e2.insert(10, "Charles Henry")
        
        #e1.bind("<Button-3><ButtonRelease-3>", active_menu)
        e1.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
        e2.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
        #T2.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
    
        e1.grid(row=0, column=1)
        e2.grid(row=1, column=1)
        
        S = Scrollbar(Frame3)
        T2 = Text(Frame3, height=8, width=27) #height=5, width=50 8, width=45
        #T2.insert(INSERT, "Bonjour.....")
        MESSAGE = "Ecrire votre texte ici"
        T2.insert(END, MESSAGE)
        T2.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
        S.pack(side=RIGHT, fill=Y)
        T2.pack(side=LEFT, fill=Y)
        S.config(command=T2.yview)
        T2.config(yscrollcommand=S.set)
        T2.pack(side = LEFT)
    
        Button(Frame4, text='Quitter', command=fp.quit).grid(row=3, column=0, sticky=W, pady=4)
        Button(Frame4, text='Valider', command=valider_entry).grid(row=3, column=1, sticky=W, pady=4)
        
    def test():
        print "MESSAGE : ",MESSAGE
        T2.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
        T2.tag_add("here", "1.0", "1.4")
        T2.tag_config("start", background="black", foreground="green")
        T2.delete(1.0,"end")
        T2.insert(1.0, MESSAGE)
        
    def creer_menu_couper_copier_coller():  
        global creer_menu_souris
        creer_menu_souris(fp) #<---- Couper-Copier-Coller
        
    def message_info(titre, message):    
        tkMessageBox.showinfo(titre, message)    
    
    def valider_entry():
        print("Nom : %s\nPrenom : %s" % (e1.get(), e2.get()))
        titre = "Informations"
        message = "Nom : "+e1.get()+"\n"+"Prénom : "+e2.get()
        tkMessageBox.showinfo(titre, message)
    
        
    def coller():
        print "coller" 
        texte = fp.clipboard_get()  # récupère le contenu du presse-papier
        print "coller : texte : ", texte
        #e2.config(state=NORMAL)
        e2.delete(0,END)
        e2.insert(END, str(texte))
        #e2.config(state = DISABLED)
    
    def creer_menu_souris(w):
        global options_du_menu_souris
        options_du_menu_souris = Menu(w, tearoff=0)
        options_du_menu_souris.add_command(label="Couper")
        options_du_menu_souris.add_command(label="Copier")
        options_du_menu_souris.add_command(label="Coller")
        
    def menu_souris(e):
        w = e.widget
        options_du_menu_souris.entryconfigure("Couper",command=lambda: w.event_generate("<<Cut>>"))
        options_du_menu_souris.entryconfigure("Copier",command=lambda: w.event_generate("<<Copy>>"))
        options_du_menu_souris.entryconfigure("Coller",command=lambda: w.event_generate("<<Paste>>"))
        #options_du_menu_souris.entryconfigure("Coller",command=lambda x=e1: coller(x))
        options_du_menu_souris.tk.call("tk_popup", options_du_menu_souris, e.x_root, e.y_root)
        
    #Menu Bar
    def menu_bar():
        menubar = Menu(fp)
        filemenu = Menu(menubar, tearoff=0)
        filemenu.add_command(label="New", command=None)
        filemenu.add_command(label="Open", command=None)
        filemenu.add_command(label="Save", command=None)
        filemenu.add_command(label="Save as...", command=None)
        filemenu.add_command(label="Close", command=None)
        filemenu.add_separator()
        filemenu.add_command(label="Exit", command=fp.quit)
        menubar.add_cascade(label="File", menu=filemenu)
    
        editmenu = Menu(menubar, tearoff=0)
        editmenu.add_command(label="Undo", command=None)
        editmenu.add_separator()
        editmenu.add_command(label="Couper", command=lambda: w.event_generate("<<Cut>>"))
        editmenu.add_command(label="Copier", command=lambda: w.event_generate("<<Copy>>"))
        editmenu.add_command(label="Coller", command=lambda: w.event_generate("<<Paste>>"))
        editmenu.add_command(label="Select All", command=None)
        menubar.add_cascade(label="Edit", menu=editmenu)
    
        helpmenu = Menu(menubar, tearoff=0)
        helpmenu.add_command(label="Help Index", command=None)
        helpmenu.add_command(label="About...", command=None)
        menubar.add_cascade(label="Help", menu=None)
    
        fp.config(menu=menubar)
    
    def executer_fonctions():
        creer_fenetre_principale()
        creer_frames()
        fenetre()
        creer_menu_couper_copier_coller()
        menu_bar()
    
    executer_fonctions()
    
    fp.mainloop()
    
    0
  2. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Ces 2 lignes sont inutiles:

    import tkinter as tk
    import tkinter

    (il y a déjà from tkinter import *)

    Comment fait tu apparaitre le menu souris, et il sert à quoi, vu qu'il y a déjà couper/copier/coller dans le menu Edit ?

    Et pour faire copier/coller dans les entry, tu fais comment ?

    La fonction test n'est appelée nulle part ...
    0
  3. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonsoir,

    Voila la solution que j'ai trouvé pour effectuer le couper / copier / coller / effacer / Tout sélectionner qui coîncide avec la souris et la barre de menu depuis un entry et un Text.

    si vous avez une idée pour réduire le tout ?
    merci d'avance.

    #! /usr/bin/python
    #-*-coding: utf-8 -*-
    
    # python $HOME/Langages/python/2.7/Cours/test-couper-copier-coller-effacer-ts_entry-text.py 
    
    #----------------------------------------------------------------------------------------
    #                                    LIBRAIRIES                                       
    #----------------------------------------------------------------------------------------
    from Tkinter import *
    from tkMessageBox import *
    #import Tkinter as tk
    #import Tkinter 
    import tkMessageBox
    
    #----------------------------------------------------------------------------------------
    #                                    FONCTIONS CODE                                      
    #----------------------------------------------------------------------------------------
    
    def creer_fenetre_principale():
        global fp #fp , e1, e2
        fp=Tk()
        fp.title("test Couper Couper coller dans un champs de saisi entry ") 
        
        
    def creer_frames():
        global Frame0, Frame1, Frame2, Frame3, Frame4
        Frame0 = Frame(fp, borderwidth=2,relief=GROOVE, width=300, height=650) #FLAT
        Frame0.grid(row=0, column=0)
        
        Frame1 = Frame(Frame0, borderwidth=2,relief=GROOVE)#.grid(row=0) #RAISED #300x650
        Frame1.grid(row=1, column=0)
        
        Frame2 = Frame(Frame0, borderwidth=0,relief=GROOVE)#.grid(row=0)
        Frame2.grid(row=2, column=0)
        
        Frame3 = Frame(Frame0, borderwidth=0,relief=GROOVE)#.grid(row=0)
        Frame3.grid(row=3, column=0)
        
        Frame4 = Frame(Frame0, borderwidth=0,relief=GROOVE)#.grid(row=0)
        Frame4.grid(row=4, column=0)
        
    def fenetre():
        global T2
        Label(Frame1, text="Nom").grid(row=0)
        Label(Frame1, text="Prénom").grid(row=1)
        Label(Frame2, text="Texte").grid(row=0)
    
        e1 = Entry(Frame1)
        e2 = Entry(Frame1)
        
        e1.insert(10, "Dupres")
        e2.insert(10, "Charles Henry")
        
        e1.bind_class("Entry", "<Button-3><ButtonRelease-3>", menu_souris)
        e1.bind_class("Entry","<Button-1><ButtonRelease-1>", menu_barre_Entry) 
    
        e1.grid(row=0, column=1)
        e2.grid(row=1, column=1)
        
        S = Scrollbar(Frame3)
        T2 = Text(Frame3, height=8, width=27) 
        MESSAGE = "Ecrire votre texte ici"
        T2.insert(END, MESSAGE)
    
        T2.bind_class("Text", "<Button-3><ButtonRelease-3>", menu_souris_Text)
        T2.bind_class("Text", "<Button-1><ButtonRelease-1>", menu_barre_Text) 
        S.pack(side=RIGHT, fill=Y)
        T2.pack(side=LEFT, fill=Y)
        S.config(command=T2.yview)
        T2.config(yscrollcommand=S.set)
        T2.pack(side = LEFT)
    
        Button(Frame4, text='Quitter', command=fp.quit).grid(row=3, column=0, sticky=W, pady=4)
        Button(Frame4, text='Valider', command=valider_entry).grid(row=3, column=1, sticky=W, pady=4)
        
    #----------------------------------------------------------------------------------------
    #                                    FONCTIONS:  BARRE DE MENU Entry                                     
    #----------------------------------------------------------------------------------------    
    def menu_barre_Text(event):
        print "menu_barre_Text"
        
        print "event : ",event
        print "event.x_root, event.y_root : ",event.x_root, event.y_root 
     
        liste_event = []
        liste_event.append("text")
        creer_menu_x = fp
        w = creer_menu_x
        options_du_menu_x = event.widget 
        options_du_menu_x2  = event 
        print "options_du_menu_x : ", options_du_menu_x
        print "options_du_menu_x2 : ", options_du_menu_x2
        global options_du_menu_x2, options_du_menu_x, w, liste_event
        
    def menu_barre_Entry(event):
        print "menu_barre_Entry"
      
        print "event : ",event
        print "event.x_root, event.y_root : ",event.x_root, event.y_root 
        
        liste_event = []
        liste_event.append("entry")
        options_du_menu_x = event.widget #Menu(w, tearoff=0)
        options_du_menu_x2  = event #Menu(w, tearoff=0)
        print "options_du_menu_x : ", options_du_menu_x
        global options_du_menu_x, options_du_menu_x2, w, liste_event
       
    def menu_barre_couper(options_du_menu_x, options_du_menu_x2):
        print "menu_barre_couper"
        options_du_menu_x.event_generate("<<Cut>>")
      
        
    def menu_barre_copier(options_du_menu_x, options_du_menu_x2):
        print "menu_barre_copier"
        options_du_menu_x.event_generate("<<Copy>>")    
        
    def menu_barre_coller(options_du_menu_x, options_du_menu_x2):
        print "menu_barre_coller"
        options_du_menu_x.insert(options_du_menu_x.event_generate("<<Paste>>"))
    
        
    def menu_barre_effacer(options_du_menu_x, options_du_menu_x2):
        print "menu_barre_effacer"
        print "options_du_menu_x : ",options_du_menu_x
        print "options_du_menu_x2 : ",options_du_menu_x2
        print "w : ",w
        print "fp : ",fp
        if liste_event[0] == "entry":
            print("ok Entry")
            options_du_menu_x.delete(0,END)
        else:
            print("no Text")
            options_du_menu_x.delete("1.0","end")
     
    def menu_barre_selectionner_tout(options_du_menu_x, options_du_menu_x2):
        print "menu_barre_selectionner_tout"
    
        if liste_event[0] == "entry":
            print("ok Entry")
            options_du_menu_x.select_range(0, 'end')
        else:
            print("no Text")
            options_du_menu_x.tag_add('sel', '1.0','end-1c')
            return "break"       
    
        
    def select_all(event):
        textbox.tag_add(SEL, "1.0", END)
        textbox.mark_set(INSERT, "1.0")
        textbox.see(INSERT)
        return 'break'    
        
    def message_info(titre, message):    
        tkMessageBox.showinfo(titre, message)    
    
    def valider_entry():
        print("Nom : %s\nPrenom : %s" % (e1.get(), e2.get()))
        titre = "Informations"
        message = "Nom : "+e1.get()+"\n"+"Prénom : "+e2.get()
        tkMessageBox.showinfo(titre, message)
    
    
    #----------------------------------------------------------------------------------------
    #                                    FONCTIONS MENU SOURIS Entry                                     
    #----------------------------------------------------------------------------------------
    
    def select_tout(e):
        print "select_tout"
        e.select_range(0, 'end')
       
    def couper(w):
        print "couper" 
        w.event_generate("<<Cut>>")   
        
    def copier(w):
        print "copier" 
        w.event_generate("<<Copy>>")
        
    def coller(w):
        print "coller" 
        w.insert(w.event_generate("<<Paste>>"))
        
    
    def effacer(w):
        w.delete(0,END)
        
    def creer_menu_couper_copier_coller():  
        global creer_menu_souris
        creer_menu_souris(fp) #<---- Couper-Copier-Coller    
        
    def creer_menu_souris(w):
        global options_du_menu_souris
        options_du_menu_souris = Menu(w, tearoff=0)
        options_du_menu_souris.add_command(label="Couper")
        options_du_menu_souris.add_command(label="Copier")
        options_du_menu_souris.add_command(label="Coller")
        options_du_menu_souris.add_command(label="Effacer")
        options_du_menu_souris.add_command(label="Sélectionner tout")
        
    def menu_souris(e):
        w = e.widget
        options_du_menu_souris.entryconfigure("Couper",command=lambda: couper(w))
        options_du_menu_souris.entryconfigure("Copier",command=lambda x=w : copier(x))
        options_du_menu_souris.entryconfigure("Coller",command=lambda x=w : coller(x))
        options_du_menu_souris.entryconfigure("Effacer",command=lambda x=w : effacer(x))
        options_du_menu_souris.entryconfigure("Sélectionner tout", command=lambda x=w : select_tout(x))
        options_du_menu_souris.tk.call("tk_popup", options_du_menu_souris, e.x_root, e.y_root)
       
        
    #----------------------------------------------------------------------------------------
    #                                    FONCTIONS MENU SOURIS Text                                     
    #----------------------------------------------------------------------------------------
        
    def couper_Text(w):
        print "couper_Text"  
        w.event_generate("<<Cut>>")
        
    def copier_Text(w):
        print "copier_Text"  
        w.event_generate("<<Copy>>")
     
    def coller_Text(w):
        print "coller_Text"  
        w.event_generate("<<Paste>>") 
        
    def selectionner_tout_Text(event):
        print "selectionner_tout_Text"
        T2.tag_add('sel', '1.0','end-1c')
        return "break"       
    
    def effacer_Text(event):
        print "effacer_Text"
        T2.delete("1.0","end")
        
    def creer_menu_couper_copier_coller_Text():  
        global creer_menu_souris_Text
        creer_menu_souris_Text(fp) #<---- Couper-Copier-Coller  
        
    def creer_menu_souris_Text(w):
        global options_du_menu_souris_Text
        options_du_menu_souris_Text = Menu(w, tearoff=0)
        options_du_menu_souris_Text.add_command(label="Couper x", command=couper)
        options_du_menu_souris_Text.add_command(label="Copier", command=copier)
        options_du_menu_souris_Text.add_command(label="Coller", command=coller)
        options_du_menu_souris_Text.add_command(label="Effacer", command=effacer)
        options_du_menu_souris_Text.add_command(label="Sélectionner tout", command=select_all)       
        
    def menu_souris_Text(e):
        print "menu_souris_Text"
        global w
        w = e.widget
        options_du_menu_souris.entryconfigure("Couper",command=lambda: couper_Text(w))
        options_du_menu_souris.entryconfigure("Copier",command=lambda: copier_Text(w))
        options_du_menu_souris.entryconfigure("Coller",command=lambda: coller_Text(w))
        options_du_menu_souris.entryconfigure("Sélectionner tout",command=lambda: selectionner_tout_Text(w))
        options_du_menu_souris.entryconfigure("Effacer",command=lambda: effacer_Text(w))
        options_du_menu_souris.tk.call("tk_popup", options_du_menu_souris, e.x_root, e.y_root)
        
    #----------------------------------------------------------------------------------------
    #                                    FONCTIONS : BARRE DE MENU                                      
    #----------------------------------------------------------------------------------------
    
    def menu_bar():
        menubar = Menu(fp)
        filemenu = Menu(menubar, tearoff=0)
        filemenu.add_command(label="New", command=None)
        filemenu.add_command(label="Open", command=None)
        filemenu.add_command(label="Save", command=None)
        filemenu.add_command(label="Save as...", command=None)
        filemenu.add_command(label="Close", command=None)
        filemenu.add_separator()
        filemenu.add_command(label="Exit", command=fp.quit)
        menubar.add_cascade(label="File", menu=filemenu)
    
        editmenu = Menu(menubar, tearoff=0)
        editmenu.add_command(label="Undo", command=None)
        editmenu.add_separator()
       
        editmenu.add_command(label="Couper", command=lambda: menu_barre_couper(options_du_menu_x, options_du_menu_x2))
        editmenu.add_command(label="Copier", command=lambda: menu_barre_copier(options_du_menu_x, options_du_menu_x2))
        editmenu.add_command(label="Coller", command=lambda: menu_barre_coller(options_du_menu_x, options_du_menu_x2))
        editmenu.add_command(label="Effacer", command=lambda: menu_barre_effacer(options_du_menu_x, options_du_menu_x2))
        editmenu.add_command(label="Sélectionner tout", command=lambda: menu_barre_selectionner_tout(options_du_menu_x, options_du_menu_x2))
        
        menubar.add_cascade(label="Edit", menu=editmenu)
    
        helpmenu = Menu(menubar, tearoff=0)
        helpmenu.add_command(label="Help Index", command=None)
        helpmenu.add_command(label="About...", command=None)
        menubar.add_cascade(label="Help", menu=None)
    
        fp.config(menu=menubar)
        
    def executer_fonctions():
        creer_fenetre_principale()
        creer_frames()
        fenetre()
        creer_menu_couper_copier_coller()
        creer_menu_couper_copier_coller_Text()
        menu_bar()
    
        
    executer_fonctions()
    
    fp.mainloop()
    0