【pyqt5】QdateTimeEdit(日期時間)


返回當前日期和時間設置

from PyQt5 import QtCore, QtWidgets

class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.setWindowModality(QtCore.Qt.WindowModal)
        Dialog.resize(690, 437)
        Dialog.setAutoFillBackground(True)
        Dialog.setSizeGripEnabled(True)
        self.calendarWidget = QtWidgets.QCalendarWidget(Dialog)
        self.calendarWidget.setGeometry(QtCore.QRect(230, 30, 431, 291))
        self.calendarWidget.setObjectName("calendarWidget")
        self.dateEdit = QtWidgets.QDateEdit(Dialog)
        self.dateEdit.setGeometry(QtCore.QRect(30, 80, 171, 22))
        self.dateEdit.setObjectName("dateEdit")
        self.dateTimeEdit = QtWidgets.QDateTimeEdit(Dialog)
        self.dateTimeEdit.setEnabled(True)
        self.dateTimeEdit.setGeometry(QtCore.QRect(10, 190, 211, 31))
        self.dateTimeEdit.setToolTip("")
        self.dateTimeEdit.setWrapping(False)
        self.dateTimeEdit.setFrame(True)   #邊框可見
        self.dateTimeEdit.setReadOnly(False)    #設置只讀模式
        self.dateTimeEdit.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows)
        self.dateTimeEdit.setSpecialValueText("")
        self.dateTimeEdit.setKeyboardTracking(True)
        self.dateTimeEdit.setCurrentSection(QtWidgets.QDateTimeEdit.DaySection)
        self.dateTimeEdit.setCalendarPopup(True)
        self.dateTimeEdit.setCurrentSectionIndex(3)
        self.dateTimeEdit.setTimeSpec(QtCore.Qt.LocalTime)
        self.dateTimeEdit.setObjectName("dateTimeEdit")

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Dialog = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())
UI文件

main文件中設置(將獲取當前日期時間的代碼放在main文件中,避免QT設計師更改界面時 代碼改動)

# -*- coding: utf-8 -*-
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5 import QtWidgets from Ui_QDataTimeEdit import Ui_Dialog class Dialog(QDialog, Ui_Dialog): def __init__(self, parent=None): super(Dialog, self).__init__(parent) self.setupUi(self) self.dateTimeEdit.setDateTime(QDateTime.currentDateTime()) self.dateEdit.setDate(QDate.currentDate()) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) ui = Dialog() ui.show() sys.exit(app.exec_())

一些常用的技巧:

self.dateTimeEdit = QtWidgets.QDateTimeEdit(self.widget)
self.dateTimeEdit.setFrame(False)  #去除邊框
self.dateTimeEdit.setDate(QtCore.QDate(2018, 10, 25))  #設置日期
self.dateTimeEdit.setTime(QtCore.QTime(11, 0, 0))    #設置時間11:00
self.dateTimeEdit.setObjectName("dateTimeEdit")    #設置對象名稱

"""
方式1:
from PyQt5.QtCore import QDate,QTime
##設置為當前日期
self.dateTimeEdit.setDateTime(QDate.currentDate())   
##設置為當前時間
self.dateTimeEdit.setDateTime(QTime.currentTime())   

方式2:
from PyQt5.QtCore import QDateTime
##設置當前日期和時間
self.dateTimeEdit.setDateTime(QDateTime.currentDateTime())    
"""
##同理設置dataEdit是一樣的
from PyQt5.QtCore import QDate
self.dateEdit.setDate(QDate.currentDate())

 打印出不同格式的日期和時間

from PyQt5.QtCore import QDate, QTime, QDateTime, Qt

"""返回當前日期"""
now = QDate.currentDate()
print(now)  #PyQt5.QtCore.QDate(2018, 12, 3)
print(now.toString())     #周一 12月 3 2018
print(now.toString(Qt.ISODate))     #2018-12-03
print(now.toString(Qt.DefaultLocaleLongDate))       #2018年12月3日, 星期一

"""返回當前日期和時間"""
datetime = QDateTime.currentDateTime()
print(datetime)     #PyQt5.QtCore.QDateTime(2018, 12, 3, 15, 9, 41, 976)
print(datetime.toString())    #周一 12月 3 15:09:41 2018
print(datetime.toString(Qt.ISODate))        #2018-12-03T15:09:41
print(datetime.toString(Qt.DefaultLocaleLongDate))      #2018年12月3日, 星期一 15:09:41

"""返回當前時間"""
time = QTime.currentTime()
print(time)     #PyQt5.QtCore.QTime(15, 12, 9, 980)
print(time.toString())      #15:12:09
print(time.toString(Qt.ISODate))        #15:12:09
print(time.toString(Qt.DefaultLocaleLongDate))      #15:12:09

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM