Как мы можем ограничить выбор даты в будущем из средства выбора даты tkCalender в Python? - PullRequest
0 голосов
/ 28 декабря 2018

Я создаю графическое пользовательское приложение на Python, используя tkinter.Для выбора даты я использую ввод даты из tkCalendar для этой цели.Требуется ограничить выбор пользователем будущих дат.Как мне добиться этого в этом случае?

Python версии 3.7

tkCalendar версия 1.3.1

1 Ответ

0 голосов
/ 29 декабря 2018

Вы можете использовать метод set_date из DateEntry в сочетании с root.after() для управления пользовательским вводом.

import tkinter as tk
from tkcalendar import DateEntry
from datetime import datetime
from tkinter import messagebox

root = tk.Tk()
time_now = datetime.now()
calendar = DateEntry(root, width=12, background='darkblue',foreground='white', borderwidth=2)
calendar.pack()

def date_check():
    calendar_date = datetime.strptime(calendar.get(),"%m/%d/%y")
    if calendar_date > time_now:
        messagebox.showerror("Error", "Selected date must not exceed current date")
        calendar.set_date(time_now)
    root.after(100,date_check)

root.after(100,date_check)

root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...