PyQT5 (三十一)输入各种风格的日期和时间,控件DateTimeEdit1使用 的案例

输入各种风格的日期和时间,控件DateTimeEdit1使用 的案例

import sys
from PyQt5.QtCore import Qt, QMimeData, QDate, QDateTime, QTime
from PyQt5.QtGui import QIcon, QPainter, QBrush, QPixmap
from PyQt5.QtWidgets import QApplication, QWidget, QComboBox, QFormLayout, QLabel, QLineEdit, QPushButton, QGridLayout, \
    QCalendarWidget, QVBoxLayout, QDateTimeEdit

'''
输入各种风格的日期和时间,控件DateTimeEdit1使用 的案例
'''


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

    def initUI(self):
        # 设置定位和左上角坐标
        self.setGeometry(300, 300, 400, 360)
        # 设置窗口标题
        self.setWindowTitle('日历时间控件 设置不同风格的日期和时间 使用 的演示')
        # 设置窗口图标
        # self.setWindowIcon(QIcon('../web.ico'))

        vlayout= QVBoxLayout()
        dateTimeEdit1 = QDateTimeEdit()
        dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime())

        dateEdit = QDateTimeEdit(QDate.currentDate())
        timeEdit = QDateTimeEdit(QTime.currentTime())

        dateTimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
        dateTimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss")

        dateEdit.setDisplayFormat("yyyy.MM.dd")
        timeEdit.setDisplayFormat("HH:mm:ss")

        vlayout.addWidget(dateTimeEdit1)
        vlayout.addWidget(dateTimeEdit2)
        vlayout.addWidget(dateEdit)
        vlayout.addWidget(timeEdit)

        self.setLayout(vlayout)



if __name__ == '__main__':
    app = QApplication(sys.argv)
    # 设置应用图标
    app.setWindowIcon(QIcon('../web.ico'))
    w = DateTimeEdit1Demo()
    w.show()
    sys.exit(app.exec_())

 

输入各种风格的日期和时间,控件DateTimeEdit1使用 的案例

获取时间和日期控件的值并输出

import sys
from PyQt5.QtCore import Qt, QMimeData, QDate, QDateTime, QTime
from PyQt5.QtGui import QIcon, QPainter, QBrush, QPixmap
from PyQt5.QtWidgets import QApplication, QWidget, QComboBox, QFormLayout, QLabel, QLineEdit, QPushButton, QGridLayout, \
    QCalendarWidget, QVBoxLayout, QDateTimeEdit

'''
输入各种风格的日期和时间,控件DateTimeEdit1使用 的案例
'''


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

    def initUI(self):
        # 设置定位和左上角坐标
        self.setGeometry(300, 300, 400, 360)
        # 设置窗口标题
        self.setWindowTitle('日历时间控件 设置不同风格的日期和时间 使用 的演示')
        # 设置窗口图标
        # self.setWindowIcon(QIcon('../web.ico'))

        vlayout = QVBoxLayout()
        dateTimeEdit1 = QDateTimeEdit()
        # 设置最大最小值
        dateTimeEdit1.setMinimumDate(QDate.currentDate().addDays(-365))
        dateTimeEdit1.setMaximumDate(QDate.currentDate().addDays(365))
        self.dateTimeEdit = dateTimeEdit1
        dateTimeEdit1.dateChanged.connect(self.onDateChanged)
        dateTimeEdit1.timeChanged.connect(self.onTimeChanged)
        dateTimeEdit1.dateTimeChanged.connect(self.onDateTimeChanged)

        # 设置默认为当前时间日期
        dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime())
        # 设置下拉日历控件选取可用
        dateTimeEdit2.setCalendarPopup(True)

        dateEdit = QDateTimeEdit(QDate.currentDate())
        timeEdit = QDateTimeEdit(QTime.currentTime())

        dateTimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
        dateTimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss")

        dateEdit.setDisplayFormat("yyyy.MM.dd")
        timeEdit.setDisplayFormat("HH:mm:ss")

        self.btn = QPushButton('获取日期和时间')
        self.btn.clicked.connect(self.onButtonClick)

        vlayout.addWidget(dateTimeEdit1)
        vlayout.addWidget(dateTimeEdit2)
        vlayout.addWidget(dateEdit)
        vlayout.addWidget(timeEdit)
        vlayout.addWidget(self.btn)



        self.setLayout(vlayout)

    # 日期变化
    def onDateChanged(self, date):
        print(date)

    # 时间变化
    def onTimeChanged(self, time):
        print(time)

    # 日期和时间变化
    def onDateTimeChanged(self, datetime):
        print(datetime)

    # 单击事件
    def onButtonClick(self):
        datetime = self.dateTimeEdit.dateTime()
        print(datetime)

        #最大日期
        print(self.dateTimeEdit.maximumDate())
        # 最大日期和时间
        print(self.dateTimeEdit.maximumDateTime())
        # 最小日期和时间
        print(self.dateTimeEdit.maximumDateTime())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    # 设置应用图标
    app.setWindowIcon(QIcon('../web.ico'))
    w = DateTimeEdit1Demo()
    w.show()
    sys.exit(app.exec_())

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyQt5是一个用于创建图形用户界面(GUI)的Python库,它提供了丰富的控件和功能。QDateEditPyQt5中的一个日期控件,用于选择和编辑日期。 QDateEdit控件可以通过以下方式进行美化: 1. 设置样式表:可以使用CSS样式表来自定义QDateEdit的外观。通过设置样式表,可以修改背景颜色、边框样式、字体等属性,从而实现美化效果。 2. 设置图标:可以为QDateEdit添加图标,以增加视觉效果。可以使用QIcon类来加载图标文件,并通过setIcon方法将图标设置给QDateEdit。 3. 自定义绘制:可以通过重写QDateEdit的paintEvent方法来自定义绘制控件。在paintEvent方法中,可以使用绘图工具(QPainter)来绘制自定义的外观。 下面是一个示例代码,演示了如何美化QDateEdit控件: ```python from PyQt5.QtWidgets import QApplication, QDateEdit from PyQt5.QtGui import QIcon app = QApplication([]) # 创建QDateEdit控件 date_edit = QDateEdit() # 设置样式表 date_edit.setStyleSheet("background-color: #F0F0F0; border: 1px solid #CCCCCC; padding: 5px;") # 设置图标 icon = QIcon("calendar_icon.png") date_edit.setButtonSymbols(QDateEdit.CalendarButton) date_edit.setCalendarPopup(True) date_edit.setFixedWidth(200) date_edit.setFixedHeight(30) date_edit.setIcon(icon) # 显示控件 date_edit.show() app.exec_() ``` 这段代码创建了一个QDateEdit控件,并设置了背景颜色、边框样式、图标等属性,实现了简单的美化效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值