class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.textSuffix = QTextEdit(self.centralwidget) self.textSuffix.setGeometry(QRect(20, 230, 261, 31)) self.textSuffix.setObjectName("textSuffix") self.textRiskf = QTextEdit(self.centralwidget) self.textRiskf.setGeometry(QRect(20, 360, 261, 31)) self.textRiskf.setObjectName("textRiskf") self.label = QLabel(self.centralwidget) self.label.setGeometry(QRect(20, 330, 261, 20)) self.label.setObjectName("label") self.label_2 = QLabel(self.centralwidget) self.label_2.setGeometry(QRect(20, 270, 281, 21)) self.label_2.setObjectName("label_2") self.label_3 = QLabel(self.centralwidget) self.label_3.setGeometry(QRect(20, 200, 261, 16)) self.label_3.setObjectName("label_3") self.label_4 = QLabel(self.centralwidget) self.label_4.setGeometry(QRect(20, 130, 261, 21)) self.label_4.setObjectName("label_4") self.label_5 = QLabel(self.centralwidget) self.label_5.setGeometry(QRect(20, 60, 261, 21)) self.label_5.setObjectName("label_5") self.startButton = QPushButton(self.centralwidget) self.startButton.setGeometry(QRect(20, 510, 111, 31)) self.startButton.setObjectName("startButton") self.label_6 = QLabel(self.centralwidget) self.label_6.setGeometry(QRect(20, 10, 261, 41)) font = QFont() font.setFamily("Times New Roman") font.setPointSize(12) font.setBold(True) font.setUnderline(True) font.setWeight(75) self.label_6.setFont(font) self.label_6.setObjectName("label_6") self.resultBrowser = QTextBrowser(self.centralwidget) self.resultBrowser.setGeometry(QRect(310, 30, 461, 501)) self.resultBrowser.setObjectName("resultBrowser") self.DateStart = QDateEdit(self.centralwidget) self.DateStart.setGeometry(QRect(20, 90, 121, 31)) self.DateStart.setMaximumDate(QDate(2050, 12, 31)) self.DateStart.setMinimumDate(QDate(1990, 12, 31)) self.DateStart.setDate(QDate(2018, 1, 1)) self.DateStart.setObjectName("DateStart") self.DateEnd = QDateEdit(self.centralwidget) self.DateEnd.setGeometry(QRect(19, 163, 121, 31)) self.DateEnd.setDateTime(QDateTime(QDate(2018, 1, 1), QTime(0, 0, 0))) self.DateEnd.setMaximumDateTime(QDateTime(QDate(2050, 12, 31), QTime(23, 59, 59))) self.DateEnd.setMinimumDate(QDate(1990, 12, 31)) self.DateEnd.setObjectName("DateEnd") self.spinBoxMode = QSpinBox(self.centralwidget) self.spinBoxMode.setGeometry(QRect(20, 290, 71, 31)) self.spinBoxMode.setMinimum(1) self.spinBoxMode.setMaximum(3) self.spinBoxMode.setObjectName("spinBoxMode") self.label_7 = QLabel(self.centralwidget) self.label_7.setGeometry(QRect(170, 300, 101, 21)) self.label_7.setObjectName("label_7") self.endButton = QPushButton(self.centralwidget) self.endButton.setGeometry(QRect(160, 510, 121, 31)) self.endButton.setObjectName("endButton") self.fileButton = QPushButton(self.centralwidget) self.fileButton.setGeometry(QRect(20, 410, 261, 31)) self.fileButton.setObjectName("fileButton") self.pathBrowser = QTextBrowser(self.centralwidget) self.pathBrowser.setGeometry(QRect(20, 450, 261, 41)) self.pathBrowser.setObjectName("pathBrowser") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setGeometry(QRect(0, 0, 800, 23)) self.menubar.setObjectName("menubar") self.menuAnalysis = QMenu(self.menubar) self.menuAnalysis.setObjectName("menuAnalysis") MainWindow.setMenuBar(self.menubar) self.statusbar = QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.menubar.addAction(self.menuAnalysis.menuAction()) self.retranslateUi(MainWindow) QMetaObject.connectSlotsByName(MainWindow) #################################################### self.mythread = MyThread() self.mainthread = MyMainThread() self.fileButton.clicked.connect(lambda : self.file_path()) self.mythread.trigger.connect(self.update_text) self.mainthread.result.connect(self.update_result) self.startButton.clicked.connect(lambda : self.input_Parameters()) self.startButton.clicked.connect(lambda : self.mainthread.start()) self.startButton.clicked.connect(lambda : self.mythread.start()) self.endButton.clicked.connect(lambda : self.end_calculation()) def input_Parameters(self): self.aa = str(self.DateStart.date().toString("yyyyMMdd")) self.bb = str(self.DateEnd.date().toString("yyyyMMdd")) self.cc = str(self.textSuffix.toPlainText()) self.dd = int(self.spinBoxMode.value()) self.ee = float(self.textRiskf.toPlainText()) if self.dd==1: self.dx='p1f1' elif self.dd==2: self.dx='p0f1' elif self.dd==3: self.dx='p1f0' else: raise Exception('Running Mode is wrong') self.mainthread.parameters_in = [self.aa ,self.bb, self.cc, self.dx, self.ee, self.directory1] def file_path(self): self.directory1 = QFileDialog.getExistingDirectory(self.centralwidget,"Please choose folder","/")+'/' self.pathBrowser.append(str(self.directory1)) def update_text(self, message): self.resultBrowser.append(str(message)) def update_result(self,message): self.mythread.stop_() sleep(1) self.resultBrowser.append(str(message)) print(self.mainthread.str_result) for i in self.mainthread.str_result: print(i) self.resultBrowser.append(i) def end_calculation(self): self.mythread.stop_() self.mainthread.stop_() sleep(1) self.resultBrowser.append('\nCalculation terminated by user...') def retranslateUi(self, MainWindow): _translate = QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.label.setText(_translate("MainWindow", "Please input risk free rate(0.035)")) self.label_2.setText(_translate("MainWindow", "Choose a running mode(e.g (1)p1f1/(2)p0f1")) self.label_3.setText(_translate("MainWindow", "Please input the suffix for result file")) self.label_4.setText(_translate("MainWindow", "Please input earliest date(e.g 2018-01-01)")) self.label_5.setText(_translate("MainWindow", "Please input latest date(e.g 2018-12-30)")) self.startButton.setText(_translate("MainWindow", "Start Analysis")) self.label_6.setText(_translate("MainWindow", "Barra Contribution Analysis(v_test)")) self.label_7.setText(_translate("MainWindow", " (3)p1f0")) self.endButton.setText(_translate("MainWindow", "End Process")) self.fileButton.setText(_translate("MainWindow", "Choose a folder")) self.menuAnalysis.setTitle(_translate("MainWindow", "Analysis"))
class EntryEditDialog(QDialog): GROUP_NAME = '' ORGANIZATION_NAME = '' def __init__(self, person, is_new=False): super().__init__(GlobalAccess().get_main_window()) self.is_ok = {} assert (isinstance(person, Person)) self.current_object = person self.is_new = is_new self.time_format = 'hh:mm:ss' time_accuracy = race().get_setting('time_accuracy', 0) if time_accuracy: self.time_format = 'hh:mm:ss.zzz' def exec(self): self.init_ui() self.set_values_from_model() return super().exec() def init_ui(self): self.setWindowTitle(_('Entry properties')) self.setWindowIcon(QIcon(config.ICON)) self.setSizeGripEnabled(False) self.setModal(True) self.layout = QFormLayout(self) self.label_surname = QLabel(_('Last name')) self.item_surname = QLineEdit() self.layout.addRow(self.label_surname, self.item_surname) self.label_name = QLabel(_('First name')) self.item_name = AdvComboBox() self.item_name.addItems(get_names()) self.layout.addRow(self.label_name, self.item_name) self.label_group = QLabel(_('Group')) self.item_group = AdvComboBox() self.item_group.addItems(get_race_groups()) self.layout.addRow(self.label_group, self.item_group) self.label_team = QLabel(_('Team')) self.item_team = AdvComboBox() self.item_team.addItems(get_race_teams()) self.layout.addRow(self.label_team, self.item_team) use_birthday = Config().configuration.get('use_birthday', False) if use_birthday: self.label_birthday = QLabel(_('Birthday')) self.item_birthday = QDateEdit() self.item_birthday.setObjectName('BirthdayDateEdit') self.item_birthday.setDate(date.today()) self.item_birthday.setMaximumDate(date.today()) self.layout.addRow(self.label_birthday, self.item_birthday) else: self.label_year = QLabel(_('Year of birth')) self.item_year = QSpinBox() self.item_year.setObjectName('YearSpinBox') self.item_year.setMinimum(0) self.item_year.setMaximum(date.today().year) self.item_year.editingFinished.connect(self.year_change) self.layout.addRow(self.label_year, self.item_year) self.label_qual = QLabel(_('Qualification')) self.item_qual = AdvComboBox() for i in list(Qualification): self.item_qual.addItem(i.get_title()) self.layout.addRow(self.label_qual, self.item_qual) self.is_ok['bib'] = True self.label_bib = QLabel(_('Bib')) self.item_bib = QSpinBox() self.item_bib.setMinimum(0) self.item_bib.setMaximum(Limit.BIB) self.item_bib.valueChanged.connect(self.check_bib) self.layout.addRow(self.label_bib, self.item_bib) self.label_bib_info = QLabel('') self.layout.addRow(QLabel(''), self.label_bib_info) self.label_start = QLabel(_('Start time')) self.item_start = QTimeEdit() self.item_start.setDisplayFormat(self.time_format) self.layout.addRow(self.label_start, self.item_start) self.label_start_group = QLabel(_('Start group')) self.item_start_group = QSpinBox() self.item_start_group.setMinimum(0) self.item_start_group.setMaximum(99) self.layout.addRow(self.label_start_group, self.item_start_group) self.is_ok['card'] = True self.label_card = QLabel(_('Punch card #')) self.item_card = QSpinBox() self.item_card.setMinimum(0) self.item_card.setMaximum(9999999) self.item_card.valueChanged.connect(self.check_card) self.layout.addRow(self.label_card, self.item_card) self.label_card_info = QLabel('') self.layout.addRow(QLabel(''), self.label_card_info) self.item_rented = QCheckBox(_('rented card')) self.item_paid = QCheckBox(_('is paid')) self.item_out_of_competition = QCheckBox(_('out of competition')) self.item_personal = QCheckBox(_('personal participation')) self.layout.addRow(self.item_rented, self.item_out_of_competition) self.layout.addRow(self.item_paid, self.item_personal) self.label_comment = QLabel(_('Comment')) self.item_comment = QTextEdit() self.item_comment.setTabChangesFocus(True) self.layout.addRow(self.label_comment, self.item_comment) def cancel_changes(): self.close() def apply_changes(): try: self.apply_changes_impl() except Exception as e: logging.error(str(e)) self.close() button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) self.button_ok = button_box.button(QDialogButtonBox.Ok) self.button_ok.setText(_('OK')) self.button_ok.clicked.connect(apply_changes) self.button_cancel = button_box.button(QDialogButtonBox.Cancel) self.button_cancel.setText(_('Cancel')) self.button_cancel.clicked.connect(cancel_changes) self.layout.addRow(button_box) self.show() def year_change(self): """ Convert 2 digits of year to 4 2 -> 2002 11 - > 2011 33 -> 1933 56 -> 1956 98 - > 1998 0 -> 0 exception! """ widget = self.sender() assert isinstance(widget, QSpinBox) year = widget.value() if 0 < year < 100: cur_year = date.today().year new_year = cur_year - cur_year % 100 + year if new_year > cur_year: new_year -= 100 widget.setValue(new_year) def items_ok(self): ret = True for item_name in self.is_ok.keys(): if self.is_ok[item_name] is not True: ret = False break return ret def check_bib(self): bib = self.item_bib.value() self.label_bib_info.setText('') if bib: person = find(race().persons, bib=bib) if person: if person.bib == self.current_object.bib: self.button_ok.setEnabled(True) return self.button_ok.setDisabled(True) self.is_ok['bib'] = False info = '{}\n{}'.format(_('Number already exists'), person.full_name) if person.group: info = '{}\n{}: {}'.format(info, _('Group'), person.group.name) self.label_bib_info.setText(info) else: self.label_bib_info.setText(_('Number is unique')) self.is_ok['bib'] = True if self.items_ok(): self.button_ok.setEnabled(True) else: self.button_ok.setEnabled(True) def check_card(self): number = self.item_card.value() self.label_card_info.setText('') if number: person = None for _p in race().persons: if _p.card_number and _p.card_number == number: person = _p break if person: if person.card_number == self.current_object.card_number: self.button_ok.setEnabled(True) return self.button_ok.setDisabled(True) self.is_ok['card'] = False info = '{}\n{}'.format(_('Card number already exists'), person.full_name) if person.group: info = '{}\n{}: {}'.format(info, _('Group'), person.group.name) if person.bib: info = '{}\n{}: {}'.format(info, _('Bib'), person.bib) self.label_card_info.setText(info) else: self.label_card_info.setText(_('Card number is unique')) self.is_ok['card'] = True if self.items_ok(): self.button_ok.setEnabled(True) else: self.button_ok.setEnabled(True) def set_values_from_model(self): self.item_surname.setText(self.current_object.surname) self.item_surname.selectAll() self.item_name.setCurrentText(self.current_object.name) if self.current_object.group is not None: self.item_group.setCurrentText(self.current_object.group.name) else: self.item_group.setCurrentText(self.GROUP_NAME) if self.current_object.organization is not None: self.item_team.setCurrentText( self.current_object.organization.name) else: self.item_team.setCurrentText(self.ORGANIZATION_NAME) if self.current_object.qual: self.item_qual.setCurrentText(self.current_object.qual.get_title()) if self.current_object.bib: self.item_bib.setValue(int(self.current_object.bib)) if self.current_object.start_time is not None: time = time_to_qtime(self.current_object.start_time) self.item_start.setTime(time) if self.current_object.start_group is not None: self.item_start_group.setValue(int( self.current_object.start_group)) if self.current_object.card_number: self.item_card.setValue(self.current_object.card_number) self.item_out_of_competition.setChecked( self.current_object.is_out_of_competition) self.item_paid.setChecked(self.current_object.is_paid) self.item_paid.setChecked(self.current_object.is_paid) self.item_personal.setChecked(self.current_object.is_personal) self.item_rented.setChecked(self.current_object.is_rented_card) self.item_comment.setText(self.current_object.comment) use_birthday = Config().configuration.get('use_birthday', False) if use_birthday: if self.current_object.birth_date: self.item_birthday.setDate(self.current_object.birth_date) else: if self.current_object.get_year(): self.item_year.setValue(self.current_object.get_year()) def apply_changes_impl(self): person = self.current_object assert (isinstance(person, Person)) if self.is_new: race().persons.insert(0, person) if person.name != self.item_name.currentText(): person.name = self.item_name.currentText() if person.surname != self.item_surname.text(): person.surname = self.item_surname.text() if (person.group is not None and person.group.name != self.item_group.currentText()) or\ (person.group is None and len(self.item_group.currentText()) > 0): person.group = find(race().groups, name=self.item_group.currentText()) if (person.organization is not None and person.organization.name != self.item_team.currentText()) or \ (person.organization is None and len(self.item_team.currentText()) > 0): organization = find(race().organizations, name=self.item_team.currentText()) if organization is None: organization = Organization() organization.name = self.item_team.currentText() race().organizations.append(organization) Teamwork().send(organization.to_dict()) person.organization = organization if person.qual.get_title() != self.item_qual.currentText(): person.qual = Qualification.get_qual_by_name( self.item_qual.currentText()) if person.bib != self.item_bib.value(): person.bib = self.item_bib.value() new_time = time_to_otime(self.item_start.time()) if person.start_time != new_time: person.start_time = new_time if person.start_group != self.item_start_group.value( ) and self.item_start_group.value(): person.start_group = self.item_start_group.value() if (not person.card_number or int(person.card_number) != self.item_card.value()) \ and self.item_card.value: race().person_card_number(person, self.item_card.value()) if person.is_out_of_competition != self.item_out_of_competition.isChecked( ): person.is_out_of_competition = self.item_out_of_competition.isChecked( ) if person.is_paid != self.item_paid.isChecked(): person.is_paid = self.item_paid.isChecked() if person.is_rented_card != self.item_rented.isChecked(): person.is_rented_card = self.item_rented.isChecked() if person.is_personal != self.item_personal.isChecked(): person.is_personal = self.item_personal.isChecked() if person.comment != self.item_comment.toPlainText(): person.comment = self.item_comment.toPlainText() use_birthday = Config().configuration.get('use_birthday', False) if use_birthday: new_birthday = qdate_to_date(self.item_birthday.date()) if person.birth_date != new_birthday and new_birthday: if person.birth_date or new_birthday != date.today(): person.birth_date = new_birthday else: if person.get_year() != self.item_year.value(): person.set_year(self.item_year.value()) ResultCalculation(race()).process_results() GlobalAccess().get_main_window().refresh() Teamwork().send(person.to_dict())
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.lastyear = int(time.strftime('%Y', time.localtime(time.time()))) - 1 self.in_parameters = {u'datetime': str(self.lastyear) + u'年', u'target_area': u'绍兴市', u'density_cell': u'10', u'density_class': 10, u'day_cell': u'15', u'day_class': 10, u'out_type': u'tiff'} self.setupUi() def setupUi(self): self.setObjectName("MainWindow") self.setFixedSize(1040, 915) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) self.setSizePolicy(sizePolicy) icon = QIcon() icon.addPixmap(QPixmap('./resource/weather-thunder.png'),QIcon.Normal, QIcon.Off) self.setWindowIcon(icon) self.centralwidget = QWidget(self) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth()) self.centralwidget.setSizePolicy(sizePolicy) self.centralwidget.setObjectName("centralwidget") self.layoutWidget = QWidget(self.centralwidget) self.layoutWidget.setGeometry(QRect(32, 10, 979, 851)) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout_5 =QVBoxLayout(self.layoutWidget) self.verticalLayout_5.setContentsMargins(0, 0, 0, 0) self.verticalLayout_5.setObjectName("verticalLayout_5") self.horizontalLayout = QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") spacerItem = QSpacerItem(300, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.datetime_label = QLabel(self.layoutWidget) self.datetime_label.setObjectName("datetime_label") self.horizontalLayout.addWidget(self.datetime_label) self.datetime = QDateEdit(self.layoutWidget) self.datetime.setDateTime(QDateTime(QDate(self.lastyear, 1, 1), QTime(0, 0, 0))) self.datetime.setObjectName("datetime") self.horizontalLayout.addWidget(self.datetime) spacerItem1 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem1) self.target_area_label = QLabel(self.layoutWidget) self.target_area_label.setObjectName("target_area_label") self.horizontalLayout.addWidget(self.target_area_label) self.target_area = QComboBox(self.layoutWidget) self.target_area.setObjectName("target_area") self.target_area.addItem("") self.target_area.addItem("") self.target_area.addItem("") self.target_area.addItem("") self.target_area.addItem("") self.target_area.addItem("") self.horizontalLayout.addWidget(self.target_area) spacerItem2 = QSpacerItem(300, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem2) self.verticalLayout_5.addLayout(self.horizontalLayout) self.tabWidget = QTabWidget(self.layoutWidget) sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) self.tabWidget.setSizePolicy(sizePolicy) self.tabWidget.setObjectName("tabWidget") self.density_tab = QWidget() self.density_tab.setObjectName("density_tab") self.verticalLayout_3 =QVBoxLayout(self.density_tab) self.verticalLayout_3.setObjectName("verticalLayout_3") self.verticalLayout_2 =QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout_2 = QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.density_cell_label = QLabel(self.density_tab) self.density_cell_label.setObjectName("density_cell_label") self.horizontalLayout_2.addWidget(self.density_cell_label) self.density_cell = QSpinBox(self.density_tab) self.density_cell.setProperty("value", 10) self.density_cell.setObjectName("density_cell") self.horizontalLayout_2.addWidget(self.density_cell) spacerItem3 = QSpacerItem(40, 0, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem3) self.density_class_label = QLabel(self.density_tab) self.density_class_label.setObjectName("density_class_label") self.horizontalLayout_2.addWidget(self.density_class_label) self.density_class = QSpinBox(self.density_tab) self.density_class.setProperty("value", 10) self.density_class.setObjectName("density_class") self.horizontalLayout_2.addWidget(self.density_class) spacerItem4 = QSpacerItem(478, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem4) self.density_mxd = QPushButton(self.density_tab) self.density_mxd.setObjectName("density_mxd") self.horizontalLayout_2.addWidget(self.density_mxd) self.verticalLayout_2.addLayout(self.horizontalLayout_2) self.density_view = QGraphicsView(self.density_tab) self.density_view.setObjectName("density_view") self.verticalLayout_2.addWidget(self.density_view) self.verticalLayout_3.addLayout(self.verticalLayout_2) self.tabWidget.addTab(self.density_tab, "") self.day_tab = QWidget() self.day_tab.setObjectName("day_tab") self.verticalLayout_4 =QVBoxLayout(self.day_tab) self.verticalLayout_4.setObjectName("verticalLayout_4") self.verticalLayout =QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_3 =QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.day_cell_label = QLabel(self.day_tab) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.day_cell_label.sizePolicy().hasHeightForWidth()) self.day_cell_label.setSizePolicy(sizePolicy) self.day_cell_label.setObjectName("day_cell_label") self.horizontalLayout_3.addWidget(self.day_cell_label) self.day_cell = QSpinBox(self.day_tab) self.day_cell.setProperty("value", 15) self.day_cell.setObjectName("day_cell") self.horizontalLayout_3.addWidget(self.day_cell) spacerItem5 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem5) self.day_class_label = QLabel(self.day_tab) self.day_class_label.setObjectName("day_class_label") self.horizontalLayout_3.addWidget(self.day_class_label) self.day_class = QSpinBox(self.day_tab) self.day_class.setProperty("value", 10) self.day_class.setObjectName("day_class") self.horizontalLayout_3.addWidget(self.day_class) spacerItem6 = QSpacerItem(478, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem6) self.day_mxd = QPushButton(self.day_tab) self.day_mxd.setObjectName("day_mxd") self.horizontalLayout_3.addWidget(self.day_mxd) self.verticalLayout.addLayout(self.horizontalLayout_3) self.day_view = QGraphicsView(self.day_tab) self.day_view.setObjectName("day_view") self.verticalLayout.addWidget(self.day_view) self.verticalLayout_4.addLayout(self.verticalLayout) self.tabWidget.addTab(self.day_tab, "") self.verticalLayout_5.addWidget(self.tabWidget) self.horizontalLayout_4 =QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.progressBar = QProgressBar(self.layoutWidget) sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.progressBar.sizePolicy().hasHeightForWidth()) self.progressBar.setSizePolicy(sizePolicy) self.progressBar.setProperty("value", 0) self.progressBar.setObjectName("progressBar") self.horizontalLayout_4.addWidget(self.progressBar) self.execute_button = QPushButton(self.layoutWidget) sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.execute_button.sizePolicy().hasHeightForWidth()) self.execute_button.setSizePolicy(sizePolicy) self.execute_button.setObjectName("execute_button") self.horizontalLayout_4.addWidget(self.execute_button) self.verticalLayout_5.addLayout(self.horizontalLayout_4) self.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(self) self.menubar.setGeometry(QRect(0, 0, 1040, 26)) self.menubar.setObjectName("menubar") self.file_menu = QMenu(self.menubar) self.file_menu.setObjectName("file_menu") self.help_menu = QMenu(self.menubar) self.help_menu.setObjectName("help_menu") self.setMenuBar(self.menubar) self.statusbar = QStatusBar(self) self.statusbar.setObjectName("statusbar") self.setStatusBar(self.statusbar) self.action_add_data = QAction(self) self.action_add_data.setObjectName("action_add_data") self.action_help = QAction(self) self.action_help.setObjectName("action_help") self.action_about = QAction(self) self.action_about.setObjectName("action_about") self.action_save_pic = QAction(self) self.action_save_pic.setObjectName("action_save_pic") self.file_menu.addAction(self.action_add_data) self.file_menu.addAction(self.action_save_pic) self.help_menu.addAction(self.action_help) self.help_menu.addAction(self.action_about) self.menubar.addAction(self.file_menu.menuAction()) self.menubar.addAction(self.help_menu.menuAction()) self.retranslateUi() self.tabWidget.setCurrentIndex(0) QMetaObject.connectSlotsByName(self) self.center() self.show() self.target_area.activated[str].connect(self.updateTargetArea) self.datetime.dateChanged.connect(self.updateDatetime) self.density_cell.valueChanged.connect(self.updateDensityCell) self.density_class.valueChanged.connect(self.updateDensityClass) self.day_cell.valueChanged.connect(self.updateDayCell) self.day_class.valueChanged.connect(self.updateDayClass) self.action_add_data.triggered.connect(self.addData) self.action_save_pic.triggered.connect(self.savePic) self.action_about.triggered.connect(self.showAbout) self.action_help.triggered.connect(self.showHelp) self.execute_button.clicked.connect(self.execute) self.density_mxd.clicked.connect(self.openMxdDensity) self.day_mxd.clicked.connect(self.openMxdDay) self.density_mxd.setDisabled(True) self.day_mxd.setDisabled(True) self.action_save_pic.setDisabled(True) def execute(self): dir = u"E:/Documents/工作/雷电公报/闪电定位原始文本数据/" + self.in_parameters[u'datetime'] if os.path.exists(dir): datafiles = os.listdir(dir) datafiles = map(lambda x:os.path.join(dir,x),datafiles) self.in_parameters[u'origin_data_path'] = datafiles if not self.in_parameters.has_key(u'origin_data_path'): message = u"请加载%s的数据" % self.in_parameters[u'datetime'] msgBox = QMessageBox() msgBox.setText(message) msgBox.setIcon(QMessageBox.Information) icon = QIcon() icon.addPixmap(QPixmap('./resource/weather-thunder.png'), QIcon.Normal, QIcon.Off) msgBox.setWindowIcon(icon) msgBox.setWindowTitle(" ") msgBox.exec_() return self.execute_button.setDisabled(True) self.execute_button.setText(u'正在制图中……') self.progressBar.setMaximum(0) self.progressBar.setMinimum(0) self.action_add_data.setDisabled(True) self.target_area.setDisabled(True) self.datetime.setDisabled(True) self.density_cell.setDisabled(True) self.density_class.setDisabled(True) self.day_cell.setDisabled(True) self.day_class.setDisabled(True) # for outfile in self.in_parameters[u'origin_data_path']: # infile = # try: # with open(infile, 'w+') as in_f: # for line in in_f: # line = line.replace(u":",":") # in_f.write(line) # except Exception,inst: # print infile self.process_thread = WorkThread() self.process_thread.trigger.connect(self.finished) self.process_thread.beginRun(self.in_parameters) def finished(self): #绘制闪电密度图 ##清除上一次的QGraphicsView对象,防止其记录上一次图片结果,影响显示效果 self.density_view.setAttribute(Qt.WA_DeleteOnClose) self.verticalLayout_2.removeWidget(self.density_view) size = self.density_view.size() self.density_view.close() self.density_view = QGraphicsView(self.density_tab) self.density_view.setObjectName("density_view") self.density_view.resize(size) self.verticalLayout_2.addWidget(self.density_view) densityPic = ''.join([cwd,u'/bulletinTemp/', self.in_parameters[u'datetime'],u'/',self.in_parameters[u'datetime'], self.in_parameters[u'target_area'],u'闪电密度空间分布.tif']) scene = QGraphicsScene() pixmap_density = QPixmap(densityPic) scene.addPixmap(pixmap_density) self.density_view.setScene(scene) scale = float(self.density_view.width()) / pixmap_density.width() self.density_view.scale(scale, scale) #绘制雷暴日图 self.day_view.setAttribute(Qt.WA_DeleteOnClose) self.verticalLayout.removeWidget(self.day_view) size = self.day_view.size() self.day_view.close() self.day_view = QGraphicsView(self.day_tab) self.day_view.setObjectName("day_view") self.day_view.resize(size) self.verticalLayout.addWidget(self.day_view) dayPic = ''.join([cwd,u'/bulletinTemp/', self.in_parameters[u'datetime'],u'/',self.in_parameters[u'datetime'], self.in_parameters[u'target_area'],u'地闪雷暴日空间分布.tif']) pixmap_day = QPixmap(dayPic) scene = QGraphicsScene() scene.addPixmap(pixmap_day) self.day_view.resize(self.density_view.width(),self.density_view.height()) self.day_view.setScene(scene) scale = float(self.day_view.width()) / pixmap_day.width() self.day_view.scale(scale, scale) #处理进度条和执行按钮状态 self.progressBar.setMinimum(0) self.progressBar.setMaximum(100) self.progressBar.setValue(100) self.progressBar.setFormat(u'完成!') self.execute_button.setDisabled(False) self.execute_button.setText(u'执行') #改变一些控件的状态 self.action_add_data.setDisabled(False) self.target_area.setDisabled(False) self.datetime.setDisabled(False) self.density_cell.setDisabled(False) self.density_class.setDisabled(False) self.day_cell.setDisabled(False) self.day_class.setDisabled(False) self.density_mxd.setDisabled(False) self.day_mxd.setDisabled(False) self.action_save_pic.setDisabled(False) def addData(self): fnames = QFileDialog.getOpenFileNames(self, u'请选择原始的电闪数据', u'E:/Documents/工作/雷电公报/闪电定位原始文本数据', 'Text files (*.txt);;All(*.*)') self.in_parameters[u'origin_data_path'] = fnames[0] def savePic(self): densityPic = ''.join([cwd,u'/bulletinTemp/',self.in_parameters[u'datetime'],u'/', self.in_parameters[u'target_area'],'.gdb',u'/',self.in_parameters[u'datetime'], self.in_parameters[u'target_area'],u'闪电密度空间分布.tif']) dayPic = ''.join([cwd,u'/bulletinTemp/',self.in_parameters[u'datetime'],u'/', self.in_parameters[u'target_area'],'.gdb',u'/',self.in_parameters[u'datetime'], self.in_parameters[u'target_area'],u'地闪雷暴日空间分布.tif']) directory = QFileDialog.getExistingDirectory(self,u'请选择图片保存位置', u'E:/Documents/工作/雷电公报', QFileDialog.ShowDirsOnly|QFileDialog.DontResolveSymlinks) dest_density = os.path.join(directory,os.path.basename(densityPic)) dest_day = os.path.join(directory,os.path.basename(dayPic)) if os.path.isfile(dest_day) or os.path.isfile(dest_density): message = u"文件已经存在!" msgBox = QMessageBox() msgBox.setText(message) msgBox.setIcon(QMessageBox.Information) icon = QIcon() icon.addPixmap(QPixmap("./resource/weather-thunder.png"), QIcon.Normal, QIcon.Off) msgBox.setWindowIcon(icon) msgBox.setWindowTitle(" ") msgBox.exec_() return move(dayPic,directory) move(densityPic,directory) def openMxdDay(self): program = u'C:/Program Files (x86)/ArcGIS/Desktop10.3/bin/ArcMap.exe' src_dir = ''.join([cwd,u'/data/LightningBulletin.gdb']) dest_dir = ''.join([cwd,u"/bulletinTemp/",self.in_parameters[u'datetime'], u"/" , self.in_parameters[u'target_area']]) src_file = ''.join([self.in_parameters[u'target_area'] , u"地闪雷暴日空间分布模板.mxd"]) copy(os.path.join(src_dir,src_file),dest_dir) arguments = [os.path.join(dest_dir,src_file)] self.process = QProcess(self) self.process.start(program,arguments) def openMxdDensity(self): program = u'C:/Program Files (x86)/ArcGIS/Desktop10.3/bin/ArcMap.exe' src_dir = ''.join([cwd,u'/data/LightningBulletin.gdb']) dest_dir = ''.join([cwd,u"/bulletinTemp/",self.in_parameters[u'datetime'], u"/" , self.in_parameters[u'target_area']]) src_file = ''.join([self.in_parameters[u'target_area'] ,u"闪电密度空间分布模板.mxd"]) copy(os.path.join(src_dir,src_file),dest_dir) arguments = [os.path.join(dest_dir,src_file)] self.process = QProcess(self) self.process.start(program,arguments) def showAbout(self): self.about = About_Dialog() def showHelp(self): program = u'C:/Windows/hh.exe' arguments = [''.join([cwd,'/help/help.CHM'])] self.process = QProcess(self) self.process.start(program,arguments) def updateTargetArea(self, area): self.in_parameters[u'target_area'] = area def updateDatetime(self, date): self.in_parameters[u'datetime'] = str(date.year()) + u'年' if self.in_parameters.has_key(u'origin_data_path'): self.in_parameters.__delitem__(u'origin_data_path') def updateDensityCell(self, cell): self.in_parameters[u'density_cell'] = str(cell) def updateDensityClass(self, nclass): self.in_parameters[u'density_class'] = nclass def updateDayCell(self, cell): self.in_parameters[u'day_cell'] = str(cell) def updateDayClass(self, nclass): self.in_parameters[u'day_class'] = nclass def center(self): qr = self.frameGeometry() cp = QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) self.move(qr.topLeft()) def retranslateUi(self): _translate = QCoreApplication.translate self.setWindowTitle(_translate("MainWindow", "绍兴防雷中心 雷电公报制图")) self.datetime_label.setText(_translate("MainWindow", "年份")) self.datetime.setDisplayFormat(_translate("MainWindow", "yyyy")) self.target_area_label.setText(_translate("MainWindow", "地区")) self.target_area.setItemText(0, _translate("MainWindow", "绍兴市")) self.target_area.setItemText(1, _translate("MainWindow", "柯桥区")) self.target_area.setItemText(2, _translate("MainWindow", "上虞区")) self.target_area.setItemText(3, _translate("MainWindow", "诸暨市")) self.target_area.setItemText(4, _translate("MainWindow", "嵊州市")) self.target_area.setItemText(5, _translate("MainWindow", "新昌县")) self.density_cell_label.setText(_translate("MainWindow", "插值网格大小")) self.density_class_label.setText(_translate("MainWindow", "制图分类数目")) self.density_mxd.setText(_translate("MainWindow", "ArcGIS文档")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.density_tab), _translate("MainWindow", "电闪密度")) self.day_cell_label.setText(_translate("MainWindow", "插值网格大小")) self.day_class_label.setText(_translate("MainWindow", "制图分类数目")) self.day_mxd.setText(_translate("MainWindow", "ArcGIS文档")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.day_tab), _translate("MainWindow", "雷暴日")) self.execute_button.setText(_translate("MainWindow", "执行")) self.file_menu.setTitle(_translate("MainWindow", "文件")) self.help_menu.setTitle(_translate("MainWindow", "帮助")) self.action_add_data.setText(_translate("MainWindow", "加载数据")) self.action_help.setText(_translate("MainWindow", "使用说明")) self.action_about.setText(_translate("MainWindow", "关于")) self.action_save_pic.setText(_translate("MainWindow", "图片另存为"))
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1920, 1080) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout_3 = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout_3.setObjectName("gridLayout_3") self.Tab1 = QtWidgets.QTabWidget(self.centralwidget) self.Tab1.setLocale( QtCore.QLocale(QtCore.QLocale.Russian, QtCore.QLocale.Russia)) self.Tab1.setObjectName("Tab1") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.gridLayout = QtWidgets.QGridLayout(self.tab) self.gridLayout.setObjectName("gridLayout") self.groupBoxButtons = QGroupBox(self.tab) self.groupBoxButtons.setObjectName(u"groupBoxButtons") self.groupBoxButtons.setMaximumSize(QSize(100, 16777215)) self.formLayout = QFormLayout(self.groupBoxButtons) self.gridLayout.addWidget(self.groupBoxButtons, 0, 1, 6, 1) self.ButtonAddLeg = QtWidgets.QPushButton(self.groupBoxButtons) self.ButtonAddLeg.setObjectName("ButtonAddLeg") self.formLayout.setWidget(2, QFormLayout.LabelRole, self.ButtonAddLeg) self.pushButtonDelLeg = QtWidgets.QPushButton(self.groupBoxButtons) self.pushButtonDelLeg.setObjectName(u"pushButtonDelLeg") self.pushButtonDelLeg.setText(u"Del Leg") self.formLayout.setWidget(3, QFormLayout.LabelRole, self.pushButtonDelLeg) self.calendarWidget = QtWidgets.QCalendarWidget(self.tab) self.calendarWidget.setObjectName("calendarWidget") self.gridLayout.addWidget(self.calendarWidget, 0, 0, 6, 1, QtCore.Qt.AlignLeft) self.calendarWidget.setGridVisible(True) self.ButtonAddAC = QtWidgets.QPushButton(self.groupBoxButtons) self.ButtonAddAC.setObjectName("ButtonAddAC") self.formLayout.setWidget(0, QFormLayout.LabelRole, self.ButtonAddAC) self.pushButtonDelAC = QtWidgets.QPushButton(self.groupBoxButtons) self.pushButtonDelAC.setObjectName("pushButtonDelAC") self.pushButtonDelAC.setText(u"Del A/C") self.formLayout.setWidget(1, QFormLayout.LabelRole, self.pushButtonDelAC) self.tableViewAcft = QtWidgets.QTableView(self.tab) self.tableViewAcft.setObjectName(u"tableViewAcft") self.gridLayout.addWidget(self.tableViewAcft, 0, 2, 6, 1, QtCore.Qt.AlignLeft) self.tableViewAcft.setSelectionBehavior( QtWidgets.QAbstractItemView.SelectRows) self.tableViewAcft.horizontalHeader().setStretchLastSection(False) self.tableViewAcft.setMaximumSize(QSize(140, 16777215)) self.model = QtGui.QStandardItemModel(self.tab) self.tableLog = QtWidgets.QTableView(self.tab) self.tableLog.setModel(self.model) self.tableLog.setObjectName("tableLog") self.gridLayout.addWidget(self.tableLog, 6, 0, 1, 6) self.tableLog.setSelectionBehavior( QtWidgets.QAbstractItemView.SelectRows) self.tableLog.horizontalHeader().setStretchLastSection(False) self.tableLog.setSortingEnabled(True) self.tableLog.setAlternatingRowColors(True) self.Tab1.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.Tab1.addTab(self.tab_2, "") self.gridLayout_3.addWidget(self.Tab1, 0, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1920, 30)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.lcdNumber = QtWidgets.QLCDNumber(self.tab) self.lcdNumber.setObjectName(u"lcdNumber") self.lcdNumber.setMinimumSize(QtCore.QSize(300, 0)) self.lcdNumber.setDigitCount(8) self.gridLayout.addWidget(self.lcdNumber, 2, 5, 2, 1, QtCore.Qt.AlignLeft) self.lcdNumberBLK = QtWidgets.QLCDNumber(self.tab) self.lcdNumberBLK.setObjectName(u"lcdNumberBLK") self.lcdNumberBLK.setMinimumSize(QtCore.QSize(300, 0)) self.lcdNumberBLK.setDigitCount(8) self.gridLayout.addWidget(self.lcdNumberBLK, 0, 5, 2, 1, QtCore.Qt.AlignLeft) self.lcdNumberNight = QtWidgets.QLCDNumber(self.tab) self.lcdNumberNight.setObjectName(u"lcdNumberNight") self.lcdNumberNight.setMinimumSize(QtCore.QSize(300, 0)) self.lcdNumberNight.setDigitCount(8) self.gridLayout.addWidget(self.lcdNumberNight, 4, 5, 2, 1, QtCore.Qt.AlignLeft) self.label_3 = QtWidgets.QLabel(self.tab) self.label_3.setObjectName(u"label_3") self.label_3.setEnabled(True) font = QtGui.QFont() font.setPointSize(30) font.setBold(True) font.setWeight(75) self.label_3.setFont(font) self.label_3.setText( u"<html><head/><body><p>Night Time </p></body></html>") self.label_3.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.gridLayout.addWidget(self.label_3, 4, 4, 2, 1, QtCore.Qt.AlignLeft) self.label_2 = QtWidgets.QLabel(self.tab) self.label_2.setObjectName(u"label_2") self.label_2.setFont(font) self.label_2.setText( u"<html><head/><body><p>Flight Time </p></body></html>") self.label_2.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.gridLayout.addWidget(self.label_2, 2, 4, 2, 1, QtCore.Qt.AlignLeft) self.label = QtWidgets.QLabel(self.tab) self.label.setObjectName(u"label") self.label.setFont(font) self.label.setText( u"<html><head/><body><p>Block Time </p></body></html>") self.label.setTextFormat(QtCore.Qt.AutoText) self.label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.gridLayout.addWidget(self.label, 0, 4, 2, 1, QtCore.Qt.AlignLeft) self.groupBoxFilters = QGroupBox(self.tab) self.groupBoxFilters.setObjectName(u"groupBoxFilters") self.groupBoxFilters.setToolTip(u"") self.groupBoxFilters.setStatusTip(u"") self.groupBoxFilters.setWhatsThis(u"") self.groupBoxFilters.setAccessibleName(u"") self.groupBoxFilters.setAccessibleDescription(u"") self.groupBoxFilters.setTitle(u"Filters") self.gridLayout_2 = QGridLayout(self.groupBoxFilters) self.gridLayout_2.setObjectName(u"gridLayout_2") self.gridLayout.addWidget(self.groupBoxFilters, 0, 3, 6, 1, QtCore.Qt.AlignLeft) self.radioButton12Month = QRadioButton(self.groupBoxFilters) self.buttonGroupFilter = QButtonGroup(MainWindow) self.buttonGroupFilter.setObjectName(u"buttonGroupFilter") self.buttonGroupFilter.addButton(self.radioButton12Month) self.radioButton12Month.setObjectName(u"radioButton12Month") self.radioButton12Month.setToolTip(u"") self.radioButton12Month.setStatusTip(u"") self.radioButton12Month.setWhatsThis(u"") self.radioButton12Month.setAccessibleName(u"") self.radioButton12Month.setAccessibleDescription(u"") self.radioButton12Month.setText(u"Last 12 Month") self.gridLayout_2.addWidget(self.radioButton12Month, 2, 1, 1, 1) self.radioButtonDateToDate = QRadioButton(self.groupBoxFilters) self.buttonGroupFilter.addButton(self.radioButtonDateToDate) self.radioButtonDateToDate.setObjectName(u"radioButtonDateToDate") self.radioButtonDateToDate.setToolTip(u"") self.radioButtonDateToDate.setStatusTip(u"") self.radioButtonDateToDate.setWhatsThis(u"") self.radioButtonDateToDate.setAccessibleName(u"") self.radioButtonDateToDate.setAccessibleDescription(u"") self.radioButtonDateToDate.setText(u"From Date To Date") self.gridLayout_2.addWidget(self.radioButtonDateToDate, 4, 1, 1, 1) self.radioButtonPrDay = QRadioButton(self.groupBoxFilters) self.buttonGroupFilter.addButton(self.radioButtonPrDay) self.radioButtonPrDay.setObjectName(u"radioButtonPrDay") self.radioButtonPrDay.setToolTip(u"") self.radioButtonPrDay.setStatusTip(u"") self.radioButtonPrDay.setWhatsThis(u"") self.radioButtonPrDay.setAccessibleName(u"") self.radioButtonPrDay.setAccessibleDescription(u"") self.radioButtonPrDay.setText(u"Previous Day") self.gridLayout_2.addWidget(self.radioButtonPrDay, 0, 0, 1, 1) self.radioButton30days = QRadioButton(self.groupBoxFilters) self.buttonGroupFilter.addButton(self.radioButton30days) self.radioButton30days.setObjectName(u"radioButton30days") self.radioButton30days.setToolTip(u"") self.radioButton30days.setStatusTip(u"") self.radioButton30days.setWhatsThis(u"") self.radioButton30days.setAccessibleName(u"") self.radioButton30days.setAccessibleDescription(u"") self.radioButton30days.setText(u"Last 30 Days") self.gridLayout_2.addWidget(self.radioButton30days, 0, 1, 1, 1) self.radioButtonPrYear = QRadioButton(self.groupBoxFilters) self.buttonGroupFilter.addButton(self.radioButtonPrYear) self.radioButtonPrYear.setObjectName(u"radioButtonPrYear") self.radioButtonPrYear.setToolTip(u"") self.radioButtonPrYear.setStatusTip(u"") self.radioButtonPrYear.setWhatsThis(u"") self.radioButtonPrYear.setAccessibleName(u"") self.radioButtonPrYear.setAccessibleDescription(u"") self.radioButtonPrYear.setText(u"Previous Year") self.gridLayout_2.addWidget(self.radioButtonPrYear, 4, 0, 1, 1) self.radioButtonPrMonth = QRadioButton(self.groupBoxFilters) self.buttonGroupFilter.addButton(self.radioButtonPrMonth) self.radioButtonPrMonth.setObjectName(u"radioButtonPrMonth") self.radioButtonPrMonth.setToolTip(u"") self.radioButtonPrMonth.setStatusTip(u"") self.radioButtonPrMonth.setWhatsThis(u"") self.radioButtonPrMonth.setAccessibleName(u"") self.radioButtonPrMonth.setAccessibleDescription(u"") self.radioButtonPrMonth.setText(u"Previous Month") self.gridLayout_2.addWidget(self.radioButtonPrMonth, 2, 0, 1, 1) self.dateEditFilterFrom = QDateEdit(self.groupBoxFilters) self.dateEditFilterFrom.setObjectName(u"dateEditFilterFrom") self.dateEditFilterFrom.setToolTip(u"") self.dateEditFilterFrom.setStatusTip(u"") self.dateEditFilterFrom.setWhatsThis(u"") self.dateEditFilterFrom.setAccessibleName(u"") self.dateEditFilterFrom.setAccessibleDescription(u"") self.dateEditFilterFrom.setSpecialValueText(u"") self.dateEditFilterFrom.setDisplayFormat(u"dd.MM.yyyy") self.dateEditFilterFrom.setCalendarPopup(True) self.dateEditFilterFrom.setTimeSpec(Qt.UTC) self.gridLayout_2.addWidget(self.dateEditFilterFrom, 5, 0, 1, 1) self.dateEditFilterTo = QDateEdit(self.groupBoxFilters) self.dateEditFilterTo.setObjectName(u"dateEditFilterTo") self.dateEditFilterTo.setToolTip(u"") self.dateEditFilterTo.setStatusTip(u"") self.dateEditFilterTo.setWhatsThis(u"") self.dateEditFilterTo.setAccessibleName(u"") self.dateEditFilterTo.setAccessibleDescription(u"") self.dateEditFilterTo.setSpecialValueText(u"") self.dateEditFilterTo.setDisplayFormat(u"dd.MM.yyyy") self.dateEditFilterTo.setCalendarPopup(True) self.dateEditFilterTo.setTimeSpec(Qt.UTC) self.gridLayout_2.addWidget(self.dateEditFilterTo, 5, 1, 1, 1) self.pushButtonAppFilter = QPushButton(self.groupBoxFilters) self.pushButtonAppFilter.setObjectName(u"pushButtonAppFilter") self.pushButtonAppFilter.setToolTip(u"") self.pushButtonAppFilter.setStatusTip(u"") self.pushButtonAppFilter.setWhatsThis(u"") self.pushButtonAppFilter.setAccessibleName(u"") self.pushButtonAppFilter.setAccessibleDescription(u"") self.pushButtonAppFilter.setText(u"Apply Filter") self.gridLayout_2.addWidget(self.pushButtonAppFilter, 7, 0, 1, 1) self.pushButtonResetFilter = QPushButton(self.groupBoxFilters) self.pushButtonResetFilter.setObjectName(u"pushButtonResetFilter") self.pushButtonResetFilter.setToolTip(u"") self.pushButtonResetFilter.setStatusTip(u"") self.pushButtonResetFilter.setWhatsThis(u"") self.pushButtonResetFilter.setAccessibleName(u"") self.pushButtonResetFilter.setAccessibleDescription(u"") self.pushButtonResetFilter.setText(u"Reset Filter") self.gridLayout_2.addWidget(self.pushButtonResetFilter, 7, 1, 1, 1) self.retranslateUi(MainWindow) self.Tab1.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle( _translate("Yet Another Log Book", "Yet Another Log Book")) self.ButtonAddLeg.setText(_translate("MainWindow", "Add Leg")) self.ButtonAddAC.setText(_translate("MainWindow", "Add A/C")) self.Tab1.setTabText(self.Tab1.indexOf(self.tab), _translate("MainWindow", "Log Book")) self.Tab1.setTabText(self.Tab1.indexOf(self.tab_2), _translate("MainWindow", "Tab 2"))