目次
4. 表示形式を設定します setDisplayFormat
1. 日付と時刻QDateTimeを同時に表示する
# 同时显示日期时间
dateTimeEdit1 = QDateTimeEdit()
dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime())
2. 日付のみ表示 QDate
# 日付のみを表示 dateTimeEdit3 = QDateTimeEdit(QDate.currentDate())
3. 時間のみを表示 QTime
# 時間だけを表示 dateTimeEdit4 = QDateTimeEdit(QTime.currentTime())
4. 表示形式を設定します setDisplayFormat
#表示形式を設定する dateTimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss") dateTimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss") dateTimeEdit3.setDisplayFormat("yyyy.MM.dd") dateTimeEdit4.setDisplayFormat("HH:mm:ss")
5. QDateTimeEdit の共通シグナル
1) 日付変更信号: dateChanged(self.slot)
2) 時間変更信号: timeChanged(self.slot)
3) 日時変更信号:dateTimeChanged(self.slot)
注: これらはデフォルトで現在の日付または時刻パラメータを返します。追加のパラメータは必要ありません。
つまり: def スロット(self,t)
6. 例
# シグナルは返された日付と時刻のクラス値を変更します
PyQt5.QtCore.QDateTime(2001, 1, 1, 0, 0)
PyQt5.QtCore.QDate(2001, 1, 1)
PyQt5.QtCore.QDateTime(2001, 1, 1, 1, 0)
PyQt5.QtCore.QTime( 1, 0)
PyQt5.QtCore.QDateTime(2001, 1, 1, 2, 0)
PyQt5.QtCore.QTime(2, 0)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2022/5/26 18:10
# @Author : @linlianqin
# @Site :
# @File : QDateTimeEdit_learn.py
# @Software: PyCharm
# @description:
from PyQt5.QtWidgets import QDateTimeEdit,QWidget,QVBoxLayout,QApplication
from PyQt5.QtCore import QDateTime,QDate,QTime
import sys
class DateTimeEditDemo(QWidget):
def __init__(self):
super(DateTimeEditDemo, self).__init__()
layout = QVBoxLayout()
# 同时显示日期时间
dateTimeEdit1 = QDateTimeEdit()
dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime())
# 只显示日期
dateTimeEdit3 = QDateTimeEdit(QDate.currentDate())
# 只显示时间
dateTimeEdit4 = QDateTimeEdit(QTime.currentTime())
# 设置显示的格式
dateTimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
dateTimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss")
dateTimeEdit3.setDisplayFormat("yyyy.MM.dd")
dateTimeEdit4.setDisplayFormat("HH:mm:ss")
layout.addWidget(dateTimeEdit1)
layout.addWidget(dateTimeEdit2)
layout.addWidget(dateTimeEdit3)
layout.addWidget(dateTimeEdit4)
self.setLayout(layout)
# 默认将相应的日期或者时间返回
dateTimeEdit1.dateChanged.connect(self.datechange)
dateTimeEdit1.timeChanged.connect(self.timechange)
dateTimeEdit1.dateTimeChanged.connect(self.datetimechange)
def datechange(self,date):
print(date)
def timechange(self,time):
print(time)
def datetimechange(self,datetime):
print(datetime)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWin = DateTimeEditDemo()
mainWin.show()
sys.exit(app.exec_())