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?