본문 바로가기

프로그래밍/PyQt5 GUI

31. QTimeEdit

QTimeEdit 위젯은 사용자에게 시간을 선택, 편집하도록 할 때 사용합니다. (QTimeEdit 공식 문서) 참고

 

31-1. 예제: ex30

import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QTimeEdit, QLabel, QVBoxLayout)
from PyQt5.QtCore import QTime

class MyApp(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        lbl = QLabel('QTimeEdit')

        timeedit = QTimeEdit()
        timeedit.setTime(QTime.currentTime())
        timeedit.setTimeRange(QTime(3, 00, 00), QTime(23, 30, 00))
        timeedit.setDisplayFormat('hh:mm:ss')

        vbox = QVBoxLayout()
        vbox.addWidget(lbl)
        vbox.addWidget(timeedit)
        vbox.addStretch()

        self.setLayout(vbox)

        self.setWindowTitle('QTimeEdit')
        self.setGeometry(300, 300, 300, 200)
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())

31-2 설명

timeedit = QTimeEdit()
timeedit.setTime(QTime.currentTime())
timeedit.setTimeRange(QTime(3, 00, 00), QTime(23, 30, 00))
timeedit.setDisplayFormat('hh:mm:ss')
  • QTimeEdit 위젯을 이용하여 시간 편집 객체 (timeedit)를 하나 만듭니다.
  • setTime 메서드에 QTime.currentTime() 을 입력해서 현재 시간으로 표시합니다.
  • setTimeRange를 이용하면 사용자가 선택할 수 있는 시간의 범위를 제한할 수 있습니다.
  • 기본으로 최소 00시00분00초000밀리초와 최대 23시59분59초999밀리초로 설정되어 있습니다.
  • setDisplayFormat 메서드를 이용해서 시간 형식을 표시할 수 있습니다.
vbox = QVBoxLayout()
vbox.addWidget(lbl)
vbox.addWidget(timeedit)
vbox.addStretch()

self.setLayout(vbox)

수직 박스 레이아웃을 만들고 라벨과 시간 편집 위젯을 수직으로 배치하고, 전체 위젯의 레이아웃으로 설정합니다.

31-3 결과

'프로그래밍 > PyQt5 GUI' 카테고리의 다른 글

33. QTextBrowser  (0) 2021.07.27
32.QDateTimeEdit  (0) 2021.07.27
30. QDateEdit  (0) 2021.07.27
29. QDoubleSpinBox  (0) 2021.07.27
28. QSpinBox  (0) 2021.07.26