Я пытаюсь создать планировщик, в котором пользователь вводит свою дату, время и свой план и хочет, чтобы они печатались в одну строку, но я получаю ошибки, и это не работает.
Я не очень уверен насчет использования классов, если это правильно или неправильно, но это вывод, который я хочу получить, где он отформатирован таким образом.
import tkinter
from tkinter import ttk
from tkinter import *
import tkinter as tk
class planner_start:
kind='plan'
def __init__(self,plan,time,date):
self.plan = plan
self.time=time
self.date=date
def planner_save(self):
return"March {} 2019: {}- {}".format(self.date,self.time,self.plan)
def course_save():
listbox.insert(tk.END, planner_save(a))
def get_list(event):
# get selected line index
index = listbox.curselection()[0]
# get the line's text
seltext = listbox.get(index)
# delete previous text in enter1
enter.delete(0, 50)
# now display the selected text
enter.insert(0, seltext)
def delete_item():
try:
index = listbox.curselection()[0]
listbox.delete(index)
except IndexError:
pass
def save_list():
# get a list of listbox lines
temp_list = list(listbox.get(0, tk.END))
# add a trailing newline char to each line
temp_list = [chem + '\n' for chem in temp_list]
# give the file a different name
fout = open("courselist.txt", "w")
fout.writelines(temp_list)
fout.close()
exit()
def set_list(event):
try:
index = listbox.curselection()[0]
# delete old listbox line
listbox.delete(index)
except IndexError:
index = tk.END
# insert edited item back into listbox1 at index
listbox.insert(index, enter.get())
def quit_code():
exit()
window = tkinter.Tk()
window.title("Calendar Planner")
window.configure(background='#ABD1B5')
window.geometry("720x360")
title=tkinter.Label(window,text='Calendar Planner', fg="#054A29", bg="#5BBA6F",
font=("American Captain", 24))
title.config(width=100)
title.grid(row=0)
title.place(relx=.5, rely=.1, anchor="center")
title.grid_propagate(False)
title=tkinter.Label(window,text='Your plans for this month', fg="#054A29", bg="#5BBA6F",
font=("American Captain", 18))
title.config(width=24)
title.grid(row=0)
title.place(relx=.3, rely=.23, anchor="center")
title.grid_propagate(False)
listbox = Listbox(window)
listbox.pack()
listbox.config(width=50)
listbox.grid(row=0)
listbox.place(relx=.1,rely=.5,anchor="w")
#Enter Date
date_input = ttk.Label(window,text='Enter Date',background='#355834', font=("Market Deco",12),
foreground='#FFFFFF', width=15, anchor='center')
date_input.grid(row=2,column=2, padx=5)
date_input.place(relx=.73, rely=.37, anchor="e")
dateName = tkinter.StringVar()
date_entry = ttk.Entry(window, width=15, textvariable = dateName)
date_entry.grid(row=2, column=1)
date_entry.place(relx=.88, rely=.37, anchor='e')
#Enter Time
time_input = ttk.Label(window,text='Enter Time',background='#355834', font=("Market Deco",12),
foreground='#FFFFFF', width=15, anchor='center')
time_input.grid(row=4,column=2, padx=5)
time_input.place(relx=.73, rely=.47, anchor="e")
timeName = tkinter.StringVar()
time_entry = ttk.Entry(window, width=15, textvariable = timeName)
time_entry.grid(row=4, column=1)
time_entry.place(relx=.88, rely=.47, anchor='e')
#Enter Plan
plan_input = ttk.Label(window,text='Enter Plan',background='#355834', font=("Market Deco",12),
foreground='#FFFFFF', width=15, anchor='center')
plan_input.grid(row=4,column=2, padx=5)
plan_input.place(relx=.73, rely=.57, anchor="e")
planName = tkinter.StringVar()
plan_entry = ttk.Entry(window, width=15, textvariable = planName)
plan_entry.grid(row=4, column=1)
plan_entry.place(relx=.88, rely=.57, anchor='e')
#Button for course
btn = ttk.Button(window, text='Add Plan', command=course_save)
btn.grid(row=2, columnspan=2)
btn.place(relx=.72, rely=.67, anchor='center')
#Button quit
btn = ttk.Button(window, text='Exit', command=quit_code)
btn.grid(row=2, columnspan=2)
btn.place(relx=.9, rely=.9, anchor='center')
#Button delete
button4 = tk.Button(window, text='Delete selected line ', command=delete_item)
button4.grid(row=2, columnspan=2)
button4.place(relx=.2, rely=.9, anchor='center')
#Button save
button2 = tk.Button(window, text='Save lines to file', command=save_list)
button2.grid(row=2, columnspan=2)
button2.place(relx=.4, rely=.9, anchor='center')
enter = tk.Entry(window, width=45, bg='yellow')
enter.insert(0, 'Click on a plan to edit then press enter to update')
enter.grid(row=1, columnspan=2)
enter.place(relx=.3, rely=.77, anchor='center')
# pressing the return key will update edited line
enter.bind('<Return>', set_list)
# or double click left mouse button to update line
listbox.bind('<ButtonRelease-1>', get_list)
a=(date_entry.get(),time_entry.get,plan_entry.get())
window.mainloop()
Это мой код выше. Пожалуйста, помогите мне, потому что я новичок в Python.