отредактировано для включения минимального исполняемого кода
это калькулятор цен-
метки check_in_date и can_date не отображают текстовые переменные c и d.
Мне также нужно получить выбранные значения cal из check_in_date и can_date, чтобы найти разницу и сохранить ее в третьем ярлыке totaldays
Я новичок в кодировании, только неделю назад и может быть немного шатким по основам
def pay_cal():
def cal_fun():
t = Toplevel()
global cal
cal = Calendar(t, year=2019, month=6, day=1, foreground='Blue', background='White', selectmode='day')
cal.pack()
cal.bind("<<CalendarSelected>>", lambda e: c.set(cal.get_date())) #make use of the virtual event to dynamically update the text variable c
cal.bind("<<CalendarSelected>>", lambda f: d.set(cal.get_date()))
sub_win = Tk()
sub_win.geometry('400x500+600+100')
sub_win.title('Payout Calculator')
c = StringVar()
d = StringVar()
l1 = Button(sub_win, text= 'Check-In Date:', command= cal_fun)
check_in_date = Label(sub_win, textvariable=c)
l1.grid(row=1)
check_in_date.grid(row=1, column=2)
L2 = Button(sub_win, text= 'Cancellation Date:', command= cal_fun)
can_date = Label(sub_win, textvariable=d)
L2.grid(row=2)
can_date.grid(row=2, column=2)
td = c.get() - c.get()
td_var = IntVar(td)
total_days = Label(sub_win, textvariable= td_var )
L3 = Label(sub_win, text="Total Days")
total_days.grid(row=3)
L3.grid(row=3, column=2)
L4 = Label(sub_win, text='Nightly Rate Prior Cancellation:')
nightly_rate = Entry(sub_win)
L4.grid(row=4)
nightly_rate.grid(row=4, column=2)
L5 = Label(sub_win, text='Cleaning Fee:')
CleaningFee = Entry(sub_win)
L5.grid(row=5)
CleaningFee.grid(row=5, column=2)
L6 = Label(sub_win, text='Service Fee:')
chck_in_date = Entry(sub_win)
L7 = Label(sub_win, text='Total Host Payout:')
chck_in_date = Entry(sub_win)
L8 = Label(sub_win, text='$ Released to Host to Date:')
ReleasedToHostToDate = Entry(sub_win)
L8.grid(row=8)
ReleasedToHostToDate.grid(row=8, column=2)
L9 = Label(sub_win, text='Payout to be Released:')
payouttobereleased = Entry(sub_win)
L9.grid(row=9)
payouttobereleased.grid(row=9, column=2)
L10 = Label(sub_win, text='Payout still Pending:')
payoutstillpending = Entry(sub_win)
L10.grid(row=10)
payoutstillpending.grid(row=10, column=2)
L10 = Label(sub_win, text='Offset Amount:')
offset_amt = Label(sub_win, text="test")
sub_win.mainloop()
pay_cal()