Utiliser la fonction copier coller couper dans un champ text.insert
Fermé
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
-
27 févr. 2021 à 15:42
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 - 28 févr. 2021 à 23:47
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 - 28 févr. 2021 à 23:47
A voir également:
- Utiliser la fonction copier coller couper dans un champ text.insert
- Fonction si et - Guide
- Utiliser chromecast - Guide
- Copier coller pdf - Guide
- Retrouver un copier-coller android - Guide
- Comment couper un pdf - Guide
4 réponses
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
27 févr. 2021 à 16:50
27 févr. 2021 à 16:50
Bonjour,
merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
14
Modifié le 27 févr. 2021 à 17:07
Modifié le 27 févr. 2021 à 17:07
le code avec les balises python du forum.
Merci.
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()
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 27 févr. 2021 à 17:36
Modifié le 27 févr. 2021 à 17:36
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 ...
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 ...
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
14
28 févr. 2021 à 23:47
28 févr. 2021 à 23:47
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.
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()