
- PyQt Tutorial
- PyQt - Home
- PyQt - Introduction
- PyQt - Hello World
- PyQt - Major Classes
- PyQt - Using Qt Designer
- PyQt - Signals and Slots
- PyQt - Layout Management
- PyQt - Basic Widgets
- PyQt - QDialog Class
- PyQt - QMessageBox
- PyQt - Multiple Document Interface
- PyQt - Drag and Drop
- PyQt - Database Handling
- PyQt - Drawing API
- PyQt - BrushStyle Constants
- PyQt - QClipboard
- PyQt - QPixmap Class
- PyQt Useful Resources
- PyQt - Quick Guide
- PyQt - Useful Resources
- PyQt - Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
PyQt - QCalendar Widget
QCalendar widget is a useful date picker control. It provides a month-based view. The user can select the date by the use of the mouse or the keyboard, the default being today’s date. Calendar’s date range can also be stipulated.
Following are some utility methods of this class −
Given below are the most commonly used methods of QCalendar.
Sr.No. | Methods & Description |
---|---|
1 |
setDateRange() Sets the lower and upper date available for selection |
2 |
setFirstDayOfWeek() Determines the day of the first column in the calendar The predefined day constants are −
|
3 |
setMinimumDate() Sets the lower date for selection |
4 |
setMaximumDate() Sets the upper date for selection |
5 |
setSelectedDate() Sets a QDate object as the selected date |
6 |
showToday() Shows the month of today |
7 |
selectedDate() Retrieves the selected date |
8 |
setGridvisible() Turns the calendar grid on or off |
Example
The following example has a calendar widget and a label which displays the currently selected date. The complete code is as follows −
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()
The above code produces the following output −
