It would be good if Qt would separate the calendar algorithms which convert the year-month-day representation to a fixed day count (implemented in Qt as a rounded JD number) from the QDate (and QDateTime) class implementation. Push them into separate classes. This will allow QDate to be allowed with various calendar systems.
Allow the user to select the calendar system upon initialization with default to the Gregrorian calendar.
Provide a QAbstractCalendarSystem class using which users can define their own calendar systems and use them with QDate.