Mar-09-2020, 06:06 PM
Hi everyone,
I made a script in python version 3.7, to test the context menu on the Entry widget via the right mouse button. The command is "Paste". I get this error message:
Do you have a solution? thank you for your time
I made a script in python version 3.7, to test the context menu on the Entry widget via the right mouse button. The command is "Paste". I get this error message:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\master\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:/!TEST!/!/Projet/Sample_[OK]_V1k - test.py", line 122, in <lambda>
Input1.bind("<3>", lambda event, obj=Input1: onClick_Dtr(event, obj))
File "C:/!TEST!/!/Projet/Sample_[OK]_V1k - test.py", line 94, in onClick_Dtr
MenuContextuel.tk_popup(event.x_root, event.y_root, 0)
File "C:\Users\master\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 2871, in tk_popup
self.tk.call('tk_popup', self._w, x, y, entry)
_tkinter.TclError: unknown option "-state"here is the script test :#!usrbinpython3
# -- coding utf-8 --
# coding: utf8
import youtube_dl
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
from PIL import Image, ImageTk, ImageSequence # Animation GIF
import time
from time import sleep
class Root(Tk):
def __init__(self):
super(Root, self).__init__()
self.title("Embedding yt-dl [GUI]")
# self.wm_iconbitmap('icon.ico')
self.geometry("600x120+10+10")
self.resizable(width=False, height=False)
##############################################################################
# Remonte les messages de mise au point (log). C'est nécessaire au moins pour les "vraies" erreurs.
# Rien n'empêche de créer un fichier log avec l'écriture de tous les messages pour garder une trace de ce qui s'est passé.
# Enregistreur
class MyLogger(object):
def debug(self, msg):
pass
def warning(self, msg):
pass
def error(self, msg):
print(msg)
def info(self, msg):
print(msg)
# ------------ Début - Menu Contextuel ---------------
def onClick_Dtr(event, obj):
obj.delete(0, END)
# display the popup menu
try:
MenuContextuel.tk_popup(event.x_root, event.y_root, 0)
finally:
# make sure to release the grab (Tk 8.0a1 only)
print("---")
MenuContextuel.grab_release()
def Paste():
Input1.event_generate('<<Paste>>')
# ------------ Fin - Menu Contextuel ---------------
root = Root()
var_URL = StringVar() # Widget - Entry URL
Input1 = Entry(bd=2, justify=CENTER, textvariable=var_URL)
Input1.place(x=5, y=55, width=590, height=22)
# Création du menu contextuel
MenuContextuel = Menu(root, tearoff=0)
MenuContextuel.add_separator()
MenuContextuel.add_command(label="Coller ", command=Paste)
MenuContextuel.add_separator()
# Affiche le menu contextuel
root.config(menu=MenuContextuel)
# menu Contextuel Bouton Dtr. Souris sur Input1
Input1.bind("<3>", lambda event, obj=Input1: onClick_Dtr(event, obj))
root.mainloop()I skim the internet without success. This case is beyond my competence. Do you have a solution? thank you for your time
