class DateDialog(QDialog):
    """对话窗口"""
    def __init__(self, parent=None):
        super().__init__(parent=parent)
        self.setWindowTitle("多窗口利用控件属性传递参数")
        self.resize(200, 100)

        self.datetimedit = QDateTimeEdit(parent=self)
        self.datetimedit.setCalendarPopup(True)
        self.datetimedit.setMinimumSize(100, 20)
        self.datetimedit.setDateTime(QDateTime.currentDateTime())

        buttons = QDialogButtonBox(QDialogButtonBox.Ok
                                   | QDialogButtonBox.Cancel,
                                   Qt.Horizontal,
                                   parent=self)
        # 两个按钮, 分别连接dialog.accept()和dialog.reject()
        buttons.accepted.connect(self.accept)
        buttons.rejected.connect(self.reject)

        v_layout = QVBoxLayout()
        v_layout.addWidget(self.datetimedit)
        v_layout.addWidget(buttons)
        self.setLayout(v_layout)

    def date_time(self):
        """从对话框中获取当前日期和时间"""
        return self.datetimedit.dateTime()

    @staticmethod
    def get_date_time(parent=None):
        """静态方法, 创建一个自己, 返回时间"""
        dialog = DateDialog(parent)
        result = dialog.exec()
        date = dialog.date_time()
        return date.date(), date.time(), result == QDialog.Accepted