Bonjour.
J'aimerais faire des fonctions Couper, Copier et Coller pour mon programme.
J'ai vu que Calculext le fait, et après avoir simplifier au maximum le code, ça marche uniquement dans une classe, et pas dans un programme sans classes.
Et, dans mon programme, je n'ai pas créé de classes, donc j'aurais besoin de votre aide (et en particulier celle de Tyrtamos) pour m'expliquer ce qui ne marche pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def couper(self):
        self.clipboard_clear()
        a=self.focus_get().index(Tkinter.ANCHOR)
        i=self.focus_get().index(Tkinter.INSERT)
        if i<a:
                a,i=i,a
        t=self.focus_get().get()
        s=t[a:i]
        t=t[0:a] + t[i:]
        self.focus_get().delete(0,Tkinter.END)
        self.focus_get().insert(0,t)
        self.focus_get().icursor(a)
        self.clipboard_append(s)
 
def copier(self):
        self.clipboard_clear()
        self.clipboard_append(self.selection_get())
 
def coller(self):
        t=self.selection_get(selection='CLIPBOARD')
        self.focus_get().insert(Tkinter.INSERT,t)
Code sans classes (qui ne marche pas) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def couper():
    clipboard_clear()
    a=focus_get().index(ANCHOR)
    i=focus_get().index(INSERT)
    if i<a:
        a,i=i,a
    t=focus_get().get()
    s=t[a:i]
    t=t[0:a] + t[i:]
    focus_get().delete(0,END)
    focus_get().insert(0, t)
    focus_get().icursor(a)
    clipboard_append(s)
 
def copier():
    clipboard_clear()
    clipboard_append(selection_get())
 
def coller():
    t=selection_get(selection='CLIPBOARD')
    focus_get().insert(INSERT,t)
Quelqu'un sait pourquoi ça ne fonctionne pas ?

Merci pour votre aide.