PyQt - Widget QCalendar
QCalendarwidget è un utile controllo di selezione della data. Fornisce una visualizzazione mensile. L'utente può selezionare la data utilizzando il mouse o la tastiera, l'impostazione predefinita è la data odierna. È inoltre possibile specificare l'intervallo di date del calendario.
Di seguito sono riportati alcuni metodi di utilità di questa classe:
Di seguito sono riportati i metodi più comunemente usati di QCalendar.
Sr.No. | Metodi e descrizione |
---|---|
1 | setDateRange() Imposta la data inferiore e superiore disponibile per la selezione |
2 | setFirstDayOfWeek() Determina il giorno della prima colonna nel calendario Le costanti del giorno predefinite sono:
|
3 | setMinimumDate() Imposta la data inferiore per la selezione |
4 | setMaximumDate() Imposta la data superiore per la selezione |
5 | setSelectedDate() Imposta un oggetto QDate come data selezionata |
6 | showToday() Mostra il mese di oggi |
7 | selectedDate() Recupera la data selezionata |
8 | setGridvisible() Attiva o disattiva la griglia del calendario |
Esempio
Il seguente esempio ha un widget calendario e un'etichetta che mostra la data attualmente selezionata. Il codice completo è il seguente:
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()
Il codice precedente produce il seguente output: