TClError while using TkinterDnD2 module with customtkinter framework

33 Views Asked by At

Recently I tried integrating drag and drop to my app. But when I debuged my program, I got an error, saying "_tkinter.TclError: invalid command name "tkdnd::drop_target". Here is full code:

import tkinter, customtkinter 
from TkinterDnD2 import *

def show_text(event):
    textarea.delete("1.0","end")
    if event.data.endswith(".txt"):
    with open(event.data, "r") as file:
        for line in file:
            line=line.strip()
            textarea.insert("end",f"{line}\n")

ws = customtkinter.CTk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#fcb103')

frame = customtkinter.CTkFrame(ws)
frame.pack()

textarea = customtkinter.CTkTextbox(frame, height=18, width=40)
textarea.pack(side=tkinter.LEFT)
textarea.drop_target_register(DND_FILES)
textarea.dnd_bind('<<Drop>>', show_text)

ws.mainloop()

I don't know why it occurred, maybe customtkinter doesn't support Dnd, just like tk.call() method.

0

There are 0 best solutions below