2010-02-17 4 views
1

J'utilise un QCalendarWidget dans mon application, et j'ai surchargé la méthode updateCells pour mettre un fond rouge sur toutes les dates qui répondent à certaines conditions.Comment obtenir toutes les dates affichées dans un QCalendarWidget

Mon problème est que je ne sais pas comment la première date affichée dans le calendrier (pas la première date du mois), et la dernière date affichée. Exemple: en février, la première date affichée est le 25 janvier et la dernière date affichée est le 7 mars.

Il n'y a aucune méthode utile dans QCalendarWidget et je ne peux pas penser à un algorithme pour cela. Avez-vous une idée de comment faire cela?

Répondre

1

Comme vous avez accès au mois et à l'année actuellement affichés, vous pouvez utiliser le QDate::dayOfWeek à la première et à la dernière date du contenu affiché. Prenant en compte QCalendarWidget::firstDayOfWeek, vous devez être en mesure de décider à quelle distance aller et vient vous devez aller.

Questions connexes