I have a QDateEdit with the calendar enabled and am trying to capture the end of editing:
the_date = QDateEdit(...)
<some more initialization>
the_date.setCalendarPopup(True)
the_date.editingFinished.connect(checkDate)
...
def checkDate():
print ("checkDate called")
If I edit the date from the keyboard, checkDate()
is called when focus leaves the widget by tabbing, hitting return, etc. But if I click on the down arrow that forces display of the calendar, checkDate()
is called immediately when the calendar appears, and again when the widget loses focus.
I don't want to tie to the userDateChanged because that signals on every keystroke in the edit box.
You can save the calendar widget from the QDateTime and check if that's where focus shifted: