Python 2.7.6 Tkinter Couper - copier - coller dans un entry
xunil2003
Messages postés
830
Statut
Membre
-
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
- Comment copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Citizen code python avis - Accueil - Outils
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
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()