📌  相关文章
📜  PyQt5 QDateTimeEdit – 仅在日期更改时发出信号

📅  最后修改于: 2022-05-13 01:55:28.950000             🧑  作者: Mango

PyQt5 QDateTimeEdit – 仅在日期更改时发出信号

在本文中,我们将看到仅当 QDateTimeEdit 小部件的日期发生变化时如何获取信号。 QDateTime 基本上是 QDate 和 QTime 的组合,即它同时具有日期和时间。 QDateTimeEdit 小部件用于显示或接收 QDateTime。我们可以在setDateTime方法的帮助下为它设置 QDateTime。设置日期不会影响 QDateTimeEdit 的时间,可以通过setDate方法设置。

为了做到这一点,我们将dateChanged方法与 QDateTimeEdit 对象一起使用。

下面是实现

# importing libraries
from PyQt5.QtWidgets import * 
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import * 
from PyQt5.QtCore import * 
import sys
  
  
class Window(QMainWindow):
  
    def __init__(self):
        super().__init__()
  
        # setting title
        self.setWindowTitle("Python ")
  
        # setting geometry
        self.setGeometry(100, 100, 500, 400)
  
        # calling method
        self.UiComponents()
  
        # showing all the widgets
        self.show()
  
    # method for components
    def UiComponents(self):
  
        # creating a QDateTimeEdit widget
        datetimeedit = QDateTimeEdit(self)
  
        # setting geometry
        datetimeedit.setGeometry(100, 100, 150, 35)
  
        # setting date time to it
        datetimeedit.setDateTime(QDateTime(2020, 10, 10, 11, 30))
  
        # date
        date = QDate(2020, 1, 1)
  
        # setting only date
        datetimeedit.setDate(date)
  
        # creating a label
        label = QLabel("GeeksforGeeks", self)
  
        # setting geometry to the label
        label.setGeometry(100, 160, 200, 60)
  
        # making label multi line
        label.setWordWrap(True)
  
        # getting current date
        value = datetimeedit.date()
  
        # setting text to the label
        label.setText("Date : " + str(value))
  
        # getting date change signal
        datetimeedit.dateChanged.connect(lambda: label.setText(
                                   "Date Change signal Emitted"))
  
  
  
  
  
  
# create pyqt5 app
App = QApplication(sys.argv)
  
# create the instance of our Window
window = Window()
  
# start the app
sys.exit(App.exec())

输出 :