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.