helldrg Asked:2022-08-31 22:42:37 +0800 CST2022-08-31 22:42:37 +0800 CST 2022-08-31 22:42:37 +0800 CST 如何在 QDateTimeEdit 中更改时间 772 有一个date类型为 的变量QDateTimeEdit。 date.dateTime()有类型QDateTime。 如何增加或减少几天或几小时? python 1 个回答 Voted Best Answer S. Nick 2022-08-31T23:22:55+08:002022-08-31T23:22:55+08:00 试试这样: import sys from PyQt5.Qt import * class MyWin(QWidget): def __init__(self): super().__init__() lblCurrentDateTime = QLabel() self.lblDateTimeEdit = QLabel() btn_days = QPushButton("DateTime + 7 days") btn_days.clicked.connect(self.editDateDay_days) btn_hours = QPushButton("DateTime + 2 hours") btn_hours.clicked.connect(self.editDateDay_hours) lblCurrentDateTime.setText( QDateTime.currentDateTime().toString('yyyy MM dd hh:mm:ss')) self.dateTimeBegin = QDateTimeEdit() self.dt = self.dateTimeBegin.dateTime().currentDateTime() lay = QVBoxLayout(self) lay.addWidget(lblCurrentDateTime) lay.addWidget(self.lblDateTimeEdit) lay.addWidget(btn_days) lay.addWidget(btn_hours) def editDateDay_days(self): self.dateTimeBegin.setDateTime(self.dt.addDays(7)) self.dt = self.dt.addDays(7) currentTime = self.dateTimeBegin.dateTime().toString( 'yyyy MM dd hh:mm:ss') self.lblDateTimeEdit.setText( self.dateTimeBegin.dateTime().toString('yyyy MM dd hh:mm:ss')) def editDateDay_hours(self): self.dateTimeBegin.setDateTime(self.dt.addSecs(1*60*60*2)) self.dt = self.dt.addSecs(1*60*60*2) currentTime = self.dateTimeBegin.dateTime().toString( 'yyyy MM dd hh:mm:ss') self.lblDateTimeEdit.setText( self.dateTimeBegin.dateTime().toString('yyyy MM dd hh:mm:ss')) if __name__ =="__main__": app = QApplication(sys.argv) w = MyWin() w.show() sys.exit(app.exec_())
试试这样: