Qt/PyQt5 강좌
PyQt5 QDateEdit 사용 예제
webnautes
2024. 9. 4. 23:49
반응형
PyQt5 QDateEdit 사용 예제입니다.
2024. 9. 4 최초작성
QDateEdit를 클릭하여 달력에서 시작날짜를 선택합니다.
QDateEdit를 클릭하여 달력에서 끝 날짜를 선택합니다.
기간 계산 버튼을 클릭하면 기간을 계산하여 출력해줍니다.
사용한 전체 코드입니다.
import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QDateEdit from PyQt5.QtCore import QDate class DateRangeCalculator(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): layout = QVBoxLayout() # 시작 날짜 입력 start_layout = QHBoxLayout() start_layout.addWidget(QLabel('시작 날짜:')) self.start_date = QDateEdit() self.start_date.setCalendarPopup(True) self.start_date.setDate(QDate.currentDate()) start_layout.addWidget(self.start_date) layout.addLayout(start_layout) # 끝 날짜 입력 end_layout = QHBoxLayout() end_layout.addWidget(QLabel('끝 날짜:')) self.end_date = QDateEdit() self.end_date.setCalendarPopup(True) self.end_date.setDate(QDate.currentDate()) end_layout.addWidget(self.end_date) layout.addLayout(end_layout) # 계산 버튼 calc_button = QPushButton('기간 계산') calc_button.clicked.connect(self.calculate_period) layout.addWidget(calc_button) # 결과 표시 self.result_label = QLabel('') layout.addWidget(self.result_label) self.setLayout(layout) self.setWindowTitle('날짜 기간 계산기') self.setGeometry(300, 300, 300, 200) def calculate_period(self): start = self.start_date.date() end = self.end_date.date() days = start.daysTo(end) + 1 # 종료일을 포함하기 위해 1을 더함 self.result_label.setText(f'입력한 기간은 {days}일 입니다.') if __name__ == '__main__': app = QApplication(sys.argv) calculator = DateRangeCalculator() calculator.show() sys.exit(app.exec_()) |
반응형