Forum: PC-Programmierung Python 3.5 rechte Maustaste in erstellten Textfeld von tkinter


von Michal (Gast)


Lesenswert?

Hi,

wie es bereits im Betreff steht, möchte ich die Rechte Maustaste 
aktivieren für ein erstelltes Textfeld.

Im Eingabefeld klappt das, aber in dem Textfeld dummer weise nicht und 
ich verstehe gerade nicht warum.
1
from tkinter import *
2
3
def make_menu(w):
4
    global the_menu
5
    the_menu = Menu(w, tearoff=0)
6
    the_menu.add_command(label="Cut")
7
    the_menu.add_command(label="Copy")
8
    the_menu.add_command(label="Paste")
9
10
def show_menu(e):
11
    w = e.widget
12
   
13
    the_menu.entryconfigure("Cut",
14
    command=lambda: w.event_generate("<<Cut>>"))
15
    
16
    the_menu.entryconfigure("Copy",
17
    command=lambda: w.event_generate("<<Copy>>"))
18
    the_menu.entryconfigure("Paste",
19
                            
20
    command=lambda: w.event_generate("<<Paste>>"))
21
    the_menu.tk.call("tk_popup", the_menu, e.x_root, e.y_root)
22
  
23
24
25
master = Tk()
26
make_menu(master)   
27
28
29
custom_textfield = Text(master, height=50, width=85)
30
custom_textfield.place(x = 1, y = 1, width=150, height=100) 
31
custom_textfield.insert(END, 'Click to start.')  
32
33
34
35
e1 = Entry(custom_textfield, bd=4, width=40)
36
e1.place(x = 5, y = 50, width=100, height=20)  
37
38
39
e1.bind_class("Entry", "<Button-3><ButtonRelease-3>", show_menu)
40
custom_textfield.bind_class("Entry", "<Button-3><ButtonRelease-3>", show_menu)     
41
 
42
master.mainloop()

Weiss jemand warum das so ist?

von Michael S. (Gast)


Lesenswert?

hallo,

siehe  Tkinter 8.5 reference: a GUI for Python
von John W. Shipman
Seite 157

Syntax:
self.e1.bind(<3>, function)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.