PyQt: widget de QCalendar
QCalendarwidget es un control selector de fecha útil. Proporciona una vista mensual. El usuario puede seleccionar la fecha mediante el uso del mouse o el teclado, siendo la fecha de hoy la predeterminada. También se puede estipular el intervalo de fechas del calendario.
A continuación se muestran algunos métodos de utilidad de esta clase:
A continuación se muestran los métodos de QCalendar más utilizados.
No Señor. | Métodos y descripción |
---|---|
1 |
setDateRange() Establece la fecha superior e inferior disponible para la selección |
2 |
setFirstDayOfWeek() Determina el día de la primera columna del calendario. Las constantes diarias predefinidas son:
|
3 |
setMinimumDate() Establece la fecha más baja para la selección |
4 |
setMaximumDate() Establece la fecha superior para la selección |
5 |
setSelectedDate() Establece un objeto QDate como la fecha seleccionada |
6 |
showToday() Muestra el mes de hoy |
7 |
selectedDate() Recupera la fecha seleccionada |
8 |
setGridvisible() Activa o desactiva la cuadrícula del calendario |
Ejemplo
El siguiente ejemplo tiene un widget de calendario y una etiqueta que muestra la fecha seleccionada actualmente. El código completo es el siguiente:
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()
El código anterior produce la siguiente salida: