2016-04-03 17 views
0

PySide (QcalendarWidget) içinde bir takvim için haftalık bir program yazıyorum. Örneğin, ilk hafta, bu haftanın her günü için A, B, C, D görevlerine sahip olmak istiyorum. Her ayın ilk haftası (ilk 7 gün) için bir sözlük böyle bir şeydir: 1, 3 ve 5 geçerli ayın birinci, üçüncü ve beşinci gün olanQdate, ayın ilk gününü kazanıyor

FirstWeekTasks={1:["A","B"],3:["C","D"],5:["A","D"]} 

.

Bunu nasıl yapabilirim? time modülünü kullanarak Teşekkür

+0

Ayın 1, 3 ve 5. günü için tarihler mi istiyorsunuz? –

+0

Beklenen çıktı? – Pythonista

+0

@BrendanAbel tam olarak, Başka bir deyişle, geçerli ay için istiyorum, görevleri ayarlayın. Her hafta farklı Görevler setleri vardır. –

cevap

0

:

>>> import time 
>>> time.localtime().tm_mday 
4 

datetime modülünü kullanarak:

>>> import datetime 
>>> datetime.datetime.now().day 
4 
0

Sen QDate.addDays() ile yapabilirsiniz. takvim widget arasından seçilen tarih

Başlangıç:

>>> seldate.day()  
19 
>>> seldate.addDays(1 - seldate.day()) # first 
PySide.QtCore.QDate(2016, 4, 1) 
>>> seldate.addDays(3 - seldate.day()) # third 
PySide.QtCore.QDate(2016, 4, 3) 
>>> seldate.addDays(5 - seldate.day()) # fifth 
PySide.QtCore.QDate(2016, 4, 5) 

Yani addDays() bir alabilir:

Sonra
>>> seldate = calwidget.selectedDate() 
>>> seldate 
PySide.QtCore.QDate(2016, 4, 19) 

seçilen takvim ayının gerekli günlerini almak için, sadece day() çıkarma zaman içinde ileri gitmek için pozitif sayı ve geriye doğru gitmek için negatif bir sayı.

İlgili konular