[pyqt5 学習]——QDateTimeEdit コントロールの学習

目次

1. 日付と時刻QDateTimeを同時に表示する

2. 日付のみ表示 QDate

3. 時間のみを表示 QTime

4. 表示形式を設定します setDisplayFormat

5. QDateTimeEdit の共通シグナル

6. 例 


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_())

 

おすすめ

転載: blog.csdn.net/qq_45769063/article/details/124990000