Python 2.7.6 Tkinter Couper - copier - coller dans un entry
xunil2003
Messages postés
765
Date d'inscription
Statut
Membre
Dernière intervention
-
trifou -
trifou -
Bonjour,
Tous est dans le titre.
Je travaille sur une vieille bécane avec python 2.7.6.
Je n'arrive pas a trouver la solution pour faire un couper ou copier et en suite un coller dans les champs de saisi entry nommé ici e1 et e2.
Cependant lorsque je fait un copier du champs de saisi, il apparaît dans presse-papier
Pouvez vous m'aidez ?
Merci d'avance.
Le code :
Merci pour votre aide.
Tous est dans le titre.
Je travaille sur une vieille bécane avec python 2.7.6.
Je n'arrive pas a trouver la solution pour faire un couper ou copier et en suite un coller dans les champs de saisi entry nommé ici e1 et e2.
Cependant lorsque je fait un copier du champs de saisi, il apparaît dans presse-papier
Pouvez vous m'aidez ?
Merci d'avance.
Le code :
#! /usr/bin/python
#-*-coding: utf-8 -*-
# python $HOME/Langages/python/2.7.6/Cours/test-couper-copier-coller-entry.py
#----------------------------------------------------------------------------------------
# LIBRAIRIES
#----------------------------------------------------------------------------------------
from Tkinter import *
from tkMessageBox import *
import Tkinter as tk
import Tkinter
import tkMessageBox
#----------------------------------------------------------------------------------------
# FONCTIONS CODE
#----------------------------------------------------------------------------------------
def creer_fenetre_principale():
global fp , e1, e2
fp=Tk()
#fp = tk.Tk()
fp.title("test Couper Couper coller dans un entry")
Label(fp, text="Nom").grid(row=0)
Label(fp, text="Prénom").grid(row=1)
e1 = Entry(fp)
e2 = Entry(fp)
e1.bind("<Button-3><ButtonRelease-3>", active_menu)
e2.bind("<Button-3><ButtonRelease-3>", active_menu)
e1.insert(10, "Dupres")
e2.insert(10, "Charles")
e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
Button(fp, text='Quitter', command=fp.quit).grid(row=3, column=0, sticky=W, pady=4)
Button(fp, text='Valider', command=valider_entry).grid(row=3, column=1, sticky=W, pady=4)
def creer_menu_couper_copier_coller():
global faire_menu
faire_menu(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 faire_menu(w):
global menu_ccc
menu_ccc = Tkinter.Menu(w, tearoff=0)
menu_ccc.add_command(label="Couper Ctrl+X")
menu_ccc.add_command(label="Copier Ctrl+C")
menu_ccc.add_command(label="Coller Ctrl+V")
def active_menu(e):
w = e.widget
menu_ccc.entryconfigure("Couper Ctrl+X", command=lambda: w.event_generate("<<Couper Ctrl+X>>"))
menu_ccc.entryconfigure("Copier Ctrl+C", command=lambda: w.event_generate("<<Copier Ctrl+C>>"))
menu_ccc.entryconfigure("Coller Ctrl+V", command=lambda: w.event_generate("<<Coller Ctrl+V>>"))
menu_ccc.tk.call("tk_popup", menu_ccc, e.x_root, e.y_root)
def executer_fonctions():
creer_fenetre_principale()
creer_menu_couper_copier_coller()
executer_fonctions()
fp.mainloop()
Merci pour votre aide.
Configuration: Linux / Firefox 72.0
A voir également:
- Copier python
- Citizen code python avis - Accueil - Outils
- Comment copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Historique copier coller - Guide
- Copier disque dur - Guide
1 réponse
Bonsoir,
Beaucoup de code pour exposer un simple problème.
Que donne ceci ?
Beaucoup de code pour exposer un simple problème.
Que donne ceci ?
try: import Tkinter as tk except: import tkinter as tk class CEntry(tk.Entry): def __init__(self, master, conf=None, **kw): tk.Entry.__init__(self, conf, **kw) self.bind('<Control-v>', self._paste) self.bind('<Control-x>', self._cut) def _paste(self, evt): self.delete(0, tk.END) # self.insert(0, self.clipboard_get()) # Normalement fait automatiquement def _cut(self, evt): self.clipboard_append(self.get()) self.delete(0, tk.END) win = tk.Tk() entry = CEntry(win) entry.insert(0, 'du texte') entry.pack() win.mainloop()