PyQt - Widget QCalendar

QCalendarwidget é um controle selecionador de data útil. Ele fornece uma visão baseada no mês. O usuário pode selecionar a data com o uso do mouse ou do teclado, sendo a data de hoje padrão. O intervalo de datas do calendário também pode ser estipulado.

A seguir estão alguns métodos utilitários desta classe -

A seguir estão os métodos mais comumente usados ​​de QCalendar.

Sr. Não. Métodos e Descrição
1

setDateRange()

Define a data inferior e superior disponíveis para seleção

2

setFirstDayOfWeek()

Determina o dia da primeira coluna do calendário

As constantes de dia predefinidas são -

  • Qt.Monday
  • Qt.Tuesday
  • Qt.Wednesday
  • Qt.Thursday
  • Qt.Friday
  • Qt.Saturday
  • Qt.Sunday
3

setMinimumDate()

Define a data inferior para a seleção

4

setMaximumDate()

Define a data superior para seleção

5

setSelectedDate()

Define um objeto QDate como a data selecionada

6

showToday()

Mostra o mês de hoje

7

selectedDate()

Recupera a data selecionada

8

setGridvisible()

Liga ou desliga a grade da agenda

Exemplo

O exemplo a seguir possui um widget de calendário e um rótulo que exibe a data atualmente selecionada. O código completo é o seguinte -

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

   def __init__(self):
      super(Example, self).__init__()

      self.initUI()
		
   def initUI(self):
	
      cal = QtGui.QCalendarWidget(self)
      cal.setGridVisible(True)
      cal.move(20, 20)
      cal.clicked[QtCore.QDate].connect(self.showDate)
		
      self.lbl = QtGui.QLabel(self)
      date = cal.selectedDate()
      self.lbl.setText(date.toString())
      self.lbl.move(20, 200)
		
      self.setGeometry(100,100,300,300)
      self.setWindowTitle('Calendar')
      self.show()
		
   def showDate(self, date):
	
      self.lbl.setText(date.toString())
		
def main():

   app = QtGui.QApplication(sys.argv)
   ex = Example()
   sys.exit(app.exec_())
	
if __name__ == '__main__':
   main()

O código acima produz a seguinte saída -