即使传递命令后,Python也不会弹出消息框

时间:2020-03-23 20:14:00

标签: python events tkcalendar

我正在申请中;但是,此刻卡住了。

我已使用下面的小部件选择/显示日期,以便用户可以相应地选择日期。

self.Entry_Date = DateEntry(root, AdvisorDetails, width = 10, background='darkblue',foreground='white', borderwidth=1, command = self.checks_WeekStartDate)
self.Entry_Date.grid(row=2, column=10, pady=5, padx=5)

它允许用户选择日期。我的目的是如果选择的日期不是“星期一”,则弹出一个消息框,提示“错误,选择的日期必须是星期开始日期” 为此,我创建了一个函数,该函数将检查所选日期,然后相应地弹出消息;但是,即使用户未选择“星期一”(星期几),也没有消息框。

下面的功能

def checks_WeekStartDate(self):
    self.Selected_Date = self.Entry_Date.get_date().strftime("%A")
    if self.Selected_Date != "Monday":
        messagebox.Message("Selection Error", "Please select Week Commecing date as 'Monday' Only")
    else:
        return self.Selected_Date.strftime("%A")

请帮助

Main GUI

Date Picker

1 个答案:

答案 0 :(得分:1)

self.Entry_Date = DateEntry(Frame_AdvisorDetails, width = 10, background='darkblue',foreground='white', borderwidth=1)
        self.Entry_Date.grid(row=2, column=10, pady=5, padx=5)
        self.Entry_Date.bind("<<DateEntrySelected>>", self.checks_WeekStartDate)

   def checks_WeekStartDate(self, events):
        self.Selected_Date = self.Entry_Date.get_date()
        self.Selected_Date = self.Selected_Date.strftime("%A")
        if self.Selected_Date == "Monday":
            print("You selected Monday")
        else:
            messagebox.showwarning("Error", "Please select Week Commecing date as Monday")