- PyQt5 Tutorial - 파이썬으로 만드는 나만의 GUI 프로그램
- 1. PyQt5 소개 (Introduction)
- 2. PyQt5 설치 (Installation)
- 3. PyQt5 기초 (Basics)
- 4. PyQt5 레이아웃 (Layout)
- 5. PyQt5 위젯 (Widget)
- 6. PyQt5 다이얼로그 (Dialog)
- 7. PyQt5 시그널과 슬롯 (Signal&Slot)
- 8. PyQt5 그림 그리기 (Updated)
- 9. PyQt5 실행파일 만들기 (PyInstaller)
- 10. PyQt5 프로그램 예제 (Updated)
- ▷ PDF & 예제 파일
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
날짜와 시간 표시하기¶
QtCore 모듈의 QDate, QTime, QDateTime 클래스를 이용해서 어플리케이션에 날짜와 시간을 표시할 수 있습니다.
각 클래스에 대한 자세한 설명은 아래 링크를 참고합니다.
날짜 표시하기¶
QDate 클래스는 날짜와 관련된 기능들을 제공합니다.
현재 날짜 출력하기¶
우선 QDate 클래스를 이용해서 날짜를 출력해 보겠습니다.
from PyQt5.QtCore import QDate
now = QDate.currentDate()
print(now.toString())
currentDate() 메서드는 현재 날짜를 반환합니다.
toString() 메서드를 통해 현재 날짜를 문자열로 출력할 수 있습니다.
결과는 아래와 같습니다.
수 1 2 2019
날짜 형식 설정하기¶
toString() 메서드의 format 파라미터를 설정함으로써 날짜의 형식을 정할 수 있습니다.
from PyQt5.QtCore import QDate, Qt
now = QDate.currentDate()
print(now.toString('d.M.yy'))
print(now.toString('dd.MM.yyyy'))
print(now.toString('ddd.MMMM.yyyy'))
print(now.toString(Qt.ISODate))
print(now.toString(Qt.DefaultLocaleLongDate))
‘d’는 일(day), ‘M’은 달(month), ‘y’는 연도(year)를 나타냅니다. 각 문자의 개수에 따라 날짜의 형식이 다르게 출력됩니다.
Qt.ISODate, Qt.DefaultLocaleLongDate를 입력함으로써 ISO 표준 형식 또는 어플리케이션의 기본 설정에 맞게 출력할 수 있습니다.
결과는 아래와 같습니다.
2.1.19
02.01.2019
수.1월.2019
2019-01-02
2019년 1월 2일 수요일
자세한 내용은 아래의 표 또는 공식 문서를 참고합니다.
시간 표시하기¶
QTime 클래스를 사용해서 현재 시간을 출력할 수 있습니다.
현재 시간 출력하기¶
from PyQt5.QtCore import QTime
time = QTime.currentTime()
print(time.toString())
currentTime() 메서드는 현재 시간을 반환합니다.
toString() 메서드는 현재 시간을 문자열로 반환합니다.
결과는 아래와 같습니다.
15:41:22
시간 형식 설정하기¶
from PyQt5.QtCore import QTime, Qt
time = QTime.currentTime()
print(time.toString('h.m.s'))
print(time.toString('hh.mm.ss'))
print(time.toString('hh.mm.ss.zzz'))
print(time.toString(Qt.DefaultLocaleLongDate))
print(time.toString(Qt.DefaultLocaleShortDate))
‘h’는 시간(hour), ‘m’은 분(minute), ‘s’는 초(second), 그리고 ‘z’는 1000분의 1초를 나타냅니다.
또한 날짜에서와 마찬가지로 Qt.DefaultLocaleLongDate 또는 Qt.DefaultLocaleShortDate 등으로 시간의 형식을 설정할 수 있습니다.
결과는 아래와 같습니다.
16.2.3
16.02.03
16.02.03.610
오후 4:02:03
오후 4:02
자세한 내용은 아래의 표 또는 공식 문서를 참고합니다.
날짜와 시간 표시하기¶
QDateTime 클래스를 사용해서 현재 날짜와 시간을 함께 출력할 수 있습니다.
현재 날짜와 시간 출력하기¶
from PyQt5.QtCore import QDateTime
datetime = QDateTime.currentDateTime()
print(datetime.toString())
currentDateTime() 메서드는 현재의 날짜와 시간을 반환합니다.
toString() 메서드는 날짜와 시간을 문자열 형태로 반환합니다.
날짜와 시간 형식 설정하기¶
from PyQt5.QtCore import QDateTime, Qt
datetime = QDateTime.currentDateTime()
print(datetime.toString('d.M.yy hh:mm:ss'))
print(datetime.toString('dd.MM.yyyy, hh:mm:ss'))
print(datetime.toString(Qt.DefaultLocaleLongDate))
print(datetime.toString(Qt.DefaultLocaleShortDate))
위의 예제에서와 마찬가지로 날짜에 대해 ‘d’, ‘M’, ‘y’, 시간에 대해 ‘h’, ‘m’, ‘s’ 등을 사용해서 날짜와 시간이 표시되는 형식을 설정할 수 있습니다.
또한 Qt.DefaultLocaleLongDate 또는 Qt.DefaultLocaleShortDate를 입력할 수 있습니다.
상태표시줄에 날짜 표시하기¶
상태표시줄에 오늘의 날짜를 출력해 보겠습니다.
## Ex 3-9. 날짜와 시간 표시하기.
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import QDate, Qt
class MyApp(QMainWindow):
def __init__(self):
super().__init__()
self.date = QDate.currentDate()
self.initUI()
def initUI(self):
self.statusBar().showMessage(self.date.toString(Qt.DefaultLocaleLongDate))
self.setWindowTitle('Date')
self.setGeometry(300, 300, 400, 200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
currentDate() 메서드를 통해 현재 날짜를 얻고, showMessage() 메서드로 상태표시줄에 현재 날짜를 표시했습니다.
결과¶
그림 3-9. 상태표시줄에 날짜 표시하기.