PyQt5 控件学习(一个一个学习之QDateTimeEdit)

QDateTimeEdit 的继承图 :

之前已经学了两个步长调节器,一个是调节整型,一个是针对浮点型的。

下面看第三个 QDateTimeEdit 

QDateTimeEdit 的描述:

它主要是处理日期时间的步长调节器的!

QDateTimeEdit 的继承 :

它继承于 QAbstractSpinBox 的 。

QDateTimeEdit 的功能作用 :

QDateTimeEdit 的功能作用之构造函数:

第一个构造函数:

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QDateTimeEdit  的学习")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        dateTimeEdit = QDateTimeEdit(self)
        dateTimeEdit.resize(100,30)
        dateTimeEdit.move(100,100)


if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

最大和最小时间:

其他的构造函数:

先补充:

日期时间的学习:https://www.cnblogs.com/zach0812/p/11387870.html

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QDateTimeEdit 的学习")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        dateTimeEdit = QDateTimeEdit(QDateTime.currentDateTime(),self)
        # dateTimeEdit = QDateTimeEdit(QDate.currentDate(),self)
        # dateTimeEdit = QDateTimeEdit(QTime.currentTime(),self)
        dateTimeEdit.resize(150,30)
        dateTimeEdit.move(100,100)

if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
其他三种构造函数

QDateTimeEdit 的功能作用之显示格式:

这里要补充

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QDateTimeEdit 的学习")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        dateTimeEdit = QDateTimeEdit(QDateTime.currentDateTime(),self)
        # dateTimeEdit = QDateTimeEdit(QDate.currentDate(),self)
        # dateTimeEdit = QDateTimeEdit(QTime.currentTime(),self)
        dateTimeEdit.resize(150,30)
        dateTimeEdit.move(100,100)

        dateTimeEdit.setDisplayFormat("yy-MM-dd $ m:ss:zzz")


if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

QDateTimeEdit 的功能作用之section 控制:

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QDateTimeEdit 的学习")
        self.resize(400,400)
        self.set_ui()
        

        
        

    def set_ui(self):
        dateTimeEdit = QDateTimeEdit(QDateTime.currentDateTime(),self)
        dateTimeEdit.resize(150,30)
        dateTimeEdit.move(100,100)

        print(dateTimeEdit.sectionCount())

        btn = QPushButton(self)
        btn.setText("按钮")
        btn.move(0,300)
        # btn.clicked.connect(lambda :print(dateTimeEdit.currentSectionIndex()))
        # btn.clicked.connect(lambda :print(dateTimeEdit.setCurrentSectionIndex(3)))
        # btn.clicked.connect(lambda :print(dateTimeEdit.setCurrentSection(QDateTimeEdit.HourSection)))


        btn.clicked.connect(lambda :print(dateTimeEdit.sectionText(QDateTimeEdit.HourSection)))





if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

QDateTimeEdit 的功能作用之最大和最小日期时间:

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QDateTimeEdit 的学习")
        self.resize(400,400)
        self.set_ui()
        

        
        

    def set_ui(self):
        dateTimeEdit = QDateTimeEdit(QDateTime.currentDateTime(),self)
        dateTimeEdit.resize(150,30)
        dateTimeEdit.move(100,100)

        print(dateTimeEdit.sectionCount())

        btn = QPushButton(self)
        btn.setText("按钮")
        btn.move(0,300)
        def btn_clicked_slot():
            print("===")
            dateTimeEdit.setMaximumDateTime(QDateTime(2020,8,15,12,30))
            dateTimeEdit.setMinimumDateTime(QDateTime().currentDateTime())


        btn.clicked.connect(btn_clicked_slot)





if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

QDateTimeEdit 的功能作用之日历选择控件:

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QDateTimeEdit 的学习")
        self.resize(400,400)
        self.set_ui()
        

        
        

    def set_ui(self):
        dateTimeEdit = QDateTimeEdit(QDateTime.currentDateTime(),self)
        dateTimeEdit.resize(150,30)
        dateTimeEdit.move(100,100)

        print(dateTimeEdit.sectionCount())

        btn = QPushButton(self)
        btn.setText("按钮")
        btn.move(0,300)
        def btn_clicked_slot():
            dateTimeEdit.setCalendarPopup(True)  # 设置日历弹出,
            
            #如果觉得日历丑的话,可以如下定制
            # dateTimeEdit.calendarWidget()


        btn.clicked.connect(btn_clicked_slot)





if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

QDateTimeEdit 的功能作用之获取日期和时间:

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QDateTimeEdit 的学习")
        self.resize(400,400)
        self.set_ui()
        

        
        

    def set_ui(self):
        dateTimeEdit = QDateTimeEdit(QDateTime.currentDateTime(),self)
        dateTimeEdit.resize(150,30)
        dateTimeEdit.move(100,100)

        print(dateTimeEdit.sectionCount())

        btn = QPushButton(self)
        btn.setText("按钮")
        btn.move(0,300)
        def btn_clicked_slot():
            print(dateTimeEdit.dateTime())
            print(dateTimeEdit.date())
            print(dateTimeEdit.time())


        btn.clicked.connect(btn_clicked_slot)





if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

用section 也可以 ! 

QDateTimeEdit 的信号:

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QDateTimeEdit 的学习")
        self.resize(400,400)
        self.set_ui()
        

        
        

    def set_ui(self):
        dateTimeEdit = QDateTimeEdit(QDateTime.currentDateTime(),self)
        dateTimeEdit.resize(150,30)
        dateTimeEdit.move(100,100)

        print(dateTimeEdit.sectionCount())

        btn = QPushButton(self)
        btn.setText("按钮")
        btn.move(0,300)
        def btn_clicked_slot():
            print(dateTimeEdit.dateTime())
            print(dateTimeEdit.date())
            print(dateTimeEdit.time())


        btn.clicked.connect(btn_clicked_slot)

        dateTimeEdit.dateTimeChanged.connect(lambda val:print(val))
        dateTimeEdit.dateChanged.connect(lambda val:print(val))
        dateTimeEdit.timeChanged.connect(lambda val:print(val))






if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

QDateTimeEdit 的相关子类:

QDateEdit   :主要操作的是date

QTimeEdit   :主要操作的是time :

总结: 

以上就是有关QDateTimeEdit 的内容:
下面就进入输入控件中的第三种:组合框(下拉框输入)QComboBox:https://www.cnblogs.com/zach0812/p/11388413.html

原文地址:https://www.cnblogs.com/zach0812/p/11387772.html