diff --git a/app/components/calendar_dialog.py b/app/components/calendar_dialog.py index 9c177d2..f38026b 100644 --- a/app/components/calendar_dialog.py +++ b/app/components/calendar_dialog.py @@ -7,13 +7,15 @@ from PyQt5.QtWidgets import QApplication, QDialog, QCheckBox, QMessageBox, QCale class CalendarDialog(QDialog): selected_date_signal = pyqtSignal(int) + def __init__(self, date_range=None, parent=None): """ - @param date_range: tuple[Union[QDate, datetime.date],Union[QDate, datetime.date]] + @param date_range: tuple[Union[QDate, datetime.date],Union[QDate, datetime.date]] #限定的可选择范围 @param parent: """ super().__init__(parent) + self.setWindowTitle('选择日期') self.calendar = QCalendarWidget(self) self.calendar.clicked.connect(self.onDateChanged) if date_range: @@ -29,18 +31,19 @@ class CalendarDialog(QDialog): mkt = int(time.mktime(s_t)) timestamp = mkt self.selected_date_signal.emit(timestamp) - print("Selected Date:", selected_date.toString("yyyy-MM-dd"),timestamp) + print("Selected Date:", selected_date.toString("yyyy-MM-dd"), timestamp) self.close() if __name__ == '__main__': import sys from datetime import datetime + app = QApplication(sys.argv) # 设置日期范围 start_date = datetime(2023, 12, 11) end_date = datetime(2024, 1, 9) - date_range = (start_date.date(),end_date.date()) + date_range = (start_date.date(), end_date.date()) ex = CalendarDialog(date_range=date_range) ex.show() sys.exit(app.exec_()) diff --git a/app/ui/menu/export.py b/app/ui/menu/export.py index d847da8..84a5480 100644 --- a/app/ui/menu/export.py +++ b/app/ui/menu/export.py @@ -105,7 +105,7 @@ class ExportDialog(QDialog, Ui_Dialog): three_months_ago_date = three_months_ago.date() three_months_ago_midnight = datetime.combine(three_months_ago_date, datetime.min.time()) three_months_ago_midnight_timestamp = int(three_months_ago_midnight.timestamp()) - self.time_range = (three_months_ago_midnight_timestamp,today_midnight_timestamp) + self.time_range = (three_months_ago_midnight_timestamp, today_midnight_timestamp) elif date_range == '自定义时间': self.time_range_view = TimeRangeDialog(parent=self) @@ -116,9 +116,11 @@ class ExportDialog(QDialog, Ui_Dialog): # "别急别急", # "马上就实现该功能" # ) - def set_time_range(self,time_range): + + def set_time_range(self, time_range): self.time_range = time_range self.comboBox_time.setCurrentIndex(2) + def export_data(self): self.btn_start.setEnabled(False) # 在这里获取用户选择的导出数据类型 @@ -141,7 +143,8 @@ class ExportDialog(QDialog, Ui_Dialog): select_contacts.append(self.contacts[i]) # 在这里根据用户选择的数据类型执行导出操作 print("选择的文件格式:", file_types) - self.worker = Output(select_contacts, type_=Output.Batch, message_types=selected_types, sub_type=file_types,time_range=self.time_range) + self.worker = Output(select_contacts, type_=Output.Batch, message_types=selected_types, sub_type=file_types, + time_range=self.time_range) # self.worker.progressSignal.connect(self.update_progress) self.worker.okSignal.connect(self.export_finished) self.worker.rangeSignal.connect(self.set_total_msg_num) diff --git a/app/ui/menu/export_time_range.py b/app/ui/menu/export_time_range.py index 9eade1f..6b0a81d 100644 --- a/app/ui/menu/export_time_range.py +++ b/app/ui/menu/export_time_range.py @@ -11,25 +11,28 @@ QToolButton{ color:#000000; } ''' + + class TimeRangeDialog(QDialog, Ui_Dialog): date_range_signal = pyqtSignal(tuple) def __init__(self, date_range=None, parent=None): """ - @param date_range: tuple[Union[QDate, datetime.date],Union[QDate, datetime.date]] + @param date_range: tuple[Union[QDate, datetime.date],Union[QDate, datetime.date]] 限定的可选择范围 @param parent: """ super().__init__(parent) self.calendar = None self.setupUi(self) + self.setWindowTitle('选择日期范围') self.setStyleSheet(Stylesheet) self.toolButton_start_time.clicked.connect(self.select_date_start) self.toolButton_end_time.clicked.connect(self.select_date_end) self.calendar = CalendarDialog(date_range=date_range, parent=self) self.calendar.selected_date_signal.connect(self.set_date) self.btn_ok.clicked.connect(self.ok) - self.btn_cancel.clicked.connect(lambda x:self.close()) + self.btn_cancel.clicked.connect(lambda x: self.close()) self.start_time_flag = True self.start_timestamp = 0 self.end_timestamp = 0 @@ -38,17 +41,19 @@ class TimeRangeDialog(QDialog, Ui_Dialog): if self.start_time_flag: self.start_timestamp = timestamp date_object = datetime.fromtimestamp(timestamp) - str_start =date_object.strftime("%Y-%m-%d") + str_start = date_object.strftime("%Y-%m-%d") self.toolButton_start_time.setText(str_start) else: date_object = datetime.fromtimestamp(timestamp) str_start = date_object.strftime("%Y-%m-%d") self.end_timestamp = timestamp + 86399 self.toolButton_end_time.setText(str_start) + def ok(self): - date_range = (self.start_timestamp,self.end_timestamp) + date_range = (self.start_timestamp, self.end_timestamp) self.date_range_signal.emit(date_range) self.close() + def select_date_start(self): self.start_time_flag = True self.calendar.show()