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 -
|
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 -