QDateEdit 위젯은 사용자에게 날짜를 선택, 편집하도록 할 때 사용합니다. (QDateEdit 공식 문서) 참고
import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QDateEdit, QVBoxLayout from PyQt5.QtCore import QDate class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): lbl = QLabel('QDateEdit') dateedit = QDateEdit(self) dateedit.setDate(QDate.currentDate()) dateedit.setMinimumDate(QDate(1900, 1, 1)) dateedit.setMaximumDate(QDate(2100, 12, 31)) # dateedit.setDateRange(QDate(1900, 1, 1), QDate(2100, 12, 31)) vbox = QVBoxLayout() vbox.addWidget(lbl) vbox.addWidget(dateedit) vbox.addStretch() self.setLayout(vbox) self.setWindowTitle('QDateEdit') self.setGeometry(300, 300, 300, 200) self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = MyApp() sys.exit(app.exec_()) |
30-2 설명
dateedit = QDateEdit(self) dateedit.setDate(QDate.currentDate()) dateedit.setMinimumDate(QDate(1900, 1, 1)) dateedit.setMaximumDate(QDate(2100, 12, 31)) # dateedit.setDateRange(QDate(1900, 1, 1), QDate(2100, 12, 31)) |
- QDateEdit 위젯을 이용해서 날짜 편집 위젯을 하나 만듭니다.
- setDate 메서드에 QDate.currentDate() 를 입력해서 현재 날짜로 표시되도록 합니다.
- setMinimumDate() 와 setMaximumDate() 메서드를 이용하면 사용자가 선택할 수 있는 날짜의 범위를 제한할 수 있습니다.
- 기본으로 최소 날짜는 1752년 9월 14일로 설정되어 있고, 최대 날짜는 9999년 12월 31일로 설정되어 있습니다.
- 최소 날짜는 최소 100년 1월 1일 이상이어야 합니다.
- setDateRange 메서드는 setMinimumDate 와 setMaximumDate 를 동시에 사용하는 것과 같습니다.
vbox = QVBoxLayout() vbox.addWidget(lbl) vbox.addWidget(dateedit) vbox.addStretch() self.setLayout(vbox) |
수직 박스 레이아웃을 이용해서 레벨과 날짜 편집 위젯을 수직으로 배치하고, 전체 위젯의 레이아웃으로 설정합니다.
30-3 결과
'프로그래밍 > PyQt5 GUI' 카테고리의 다른 글
32.QDateTimeEdit (0) | 2021.07.27 |
---|---|
31. QTimeEdit (0) | 2021.07.27 |
29. QDoubleSpinBox (0) | 2021.07.27 |
28. QSpinBox (0) | 2021.07.26 |
27. QClendarWidget (0) | 2021.07.26 |