简体   繁体   中英

Tkinter Error: “_tkinter.TclError: invalid command name ”.!frame.!entry" PYTHON

I get this error when I insert a value in the textbox.

I want to insert the date in the textbox when selecting it.

Error: _tkinter.TclError: invalid command name "..frame.!entry"

This is my code:

main.py

from calenderUI import *
from tkinter import *


def Dateselected():

 dateSelected=tkCalender()

 return str(dateSelected)

def setData():
 dateSel=tkCalender()
 txtBoxDate.delete(0,END)
 txtBoxDate.insert(0,dateSel)

 return

root=Tk()

#Frame
miFrame=Frame(root,width=1200,height=2000)
miFrame.pack()
miFrame.config(bg="black")



miLabel=Label(miFrame, text="Date: ",fg="green", bg="black", font="Comic")
miLabel.grid(row=1,column=1,padx=10,pady=10)

txtBoxDate=Entry(miFrame)
txtBoxDate.grid(row=1,column=2,padx=10,pady=10,ipadx=40,ipady=2.5)

buttonDate=Button(miFrame, text="Date",command=lambda:setData())

buttonDate.grid(row=1,column=3,padx=10,pady=10)



root.mainloop()

calenderUI.py

from tkcalendar import Calendar
from tkinter import Tk
from tkinter import ttk


def tkCalender():
 def print_sel():
  print(cal.selection_get())

 root = Tk()
 cal=Calendar(root)
 cal.pack()

 ttk.Button(root, text="Select",command=print_sel).pack()

 root.mainloop()

if __name__ == '__tkCalender__':
 tkCalender()

Waiting for your help, thanks!

Error fixed, just remove root.mainloop() and some changes to insert the date in textbox (calenderUI.py)

main.py

from calenderUI import *
from tkinter import *



def Dateselected():

 dateSelected=tkCalender()

 return str(dateSelected)

def setData():
 dateSel=tkCalender(txtBoxDate)


root=Tk()

 #Frame
miFrame=Frame(root,width=1200,height=2000)
miFrame.pack()
miFrame.config(bg="black")



miLabel=Label(miFrame, text="Date: ",fg="green", bg="black", font="Comic")
miLabel.grid(row=1,column=1,padx=10,pady=10)

txtBoxDate=Entry(miFrame)
txtBoxDate.grid(row=1,column=2,padx=10,pady=10,ipadx=40,ipady=2.5)

buttonDate=Button(miFrame, text="Date",command=setData)

buttonDate.grid(row=1,column=3,padx=10,pady=10)

root.mainloop()

calenderUI.py

from tkcalendar import Calendar
from tkinter import *


dateSelected=""

def tkCalender(e):

 def print_sel():
  dateSelected=str(cal.selection_get())
  txtBoxDate=e.delete(0,END)
  txtBoxDate=e.insert(0,dateSelected)
  return dateSelected



 root = Tk()
 cal=Calendar(root)
 cal.pack()

 ttk.Button(root, text="Select",command=print_sel).pack()



 return str(print_sel())

if __name__ == '__tkCalender__':
 tkCalender()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM