Example #1
0
    def _handleDate(self, name, parameterType, tooltip, defaultVal, minVal=None, maxVal=None):
        if (minVal is not None):
            minDate = QDate.fromString(minVal, 'yyyy-MM-dd')
        if (maxVal is not None):
            maxDate = QDate.fromString(maxVal, 'yyyy-MM-dd')
        defaultDate = QDate.fromString(defaultVal.strftime('%Y-%m-%d'), 'yyyy-MM-dd')
        widget = QDateEdit(self.parameterTable)
        widget.setDate(defaultDate)
        widget.setToolTip(tooltip)
        widget.setCalendarPopup(True)
        self.parameters[name] =  [parameterType, widget]

        if (minVal is not None and maxVal is not None):
            self.parameters[name][1].setDateRange(minDate, maxDate)
Example #2
0
class TableWidget(QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.resize(700, 72)
        self.setMinimumWidth(700)

        # Widgets
        self.lesson = QLineEdit(self)
        self.lesson.setReadOnly(True)
        self.lesson.setToolTip('Описание предмета')
        self.deadline = QDateEdit(self)
        self.deadline.setToolTip('Дата окончания')
        self.deadline.setReadOnly(True)
        self.deadline.setDate(date.today())
        self.deadline.setMinimumDate(date(2017, 9, 1))
        self.save_button = QPushButton('Сохранить', self)
        self.delete_button = QPushButton('Удалить', self)
        self.result = QDoubleSpinBox(self)
        self.result.setSingleStep(0.01)
        self.result.setToolTip('Результат')
        self.done = QCheckBox(self)
        self.done.setToolTip('Задача выполнена')

        # Layouts
        grid_layout = QGridLayout(self)
        grid_layout.addWidget(self.lesson, 0, 1)
        grid_layout.addWidget(self.deadline, 0, 3)
        buttons_layout = QVBoxLayout()
        buttons_layout.addWidget(self.save_button)
        buttons_layout.addWidget(self.delete_button)
        grid_layout.addLayout(buttons_layout, 0, 5)
        grid_layout.addWidget(self.result, 0, 4)
        grid_layout.addWidget(self.done, 0, 0)

        # Tab order
        self.setTabOrder(self.done, self.lesson)
        self.setTabOrder(self.lesson, self.deadline)
        self.setTabOrder(self.deadline, self.result)
        self.setTabOrder(self.result, self.save_button)
        self.setTabOrder(self.save_button, self.delete_button)
Example #3
0
class DateCreatorWindow(QDialog):
    """
    Dialog window for creation / editing date.
    """
    def __init__(self, parent: QWidget = None):
        super().__init__(parent)

        self._date = None
        self._date_delta = 7
        self._date_start_temp = QDate.currentDate()

        # window settings
        self.setWindowTitle(self.tr("Date creator"))

        # toggle and status
        self.check_box = QCheckBox(self.tr("Range date"))

        # date layout
        self.layout_date_edit = QFormLayout()

        # simple date layout
        self.label_simple_date = QLabel(self.tr("Date"))
        self.layout_date_edit.setWidget(0, QFormLayout.LabelRole,
                                        self.label_simple_date)
        self.date_edit_simple = QDateEdit()
        self.layout_date_edit.setWidget(0, QFormLayout.FieldRole,
                                        self.date_edit_simple)

        self.date_edit_simple.setCalendarPopup(True)
        self.date_edit_simple.setDisplayFormat("dd.MM.yyyy")
        self.date_edit_simple.setDate(QDate.currentDate())
        self.date_edit_simple.setDateRange(QDate.currentDate().addDays(-365),
                                           QDate.currentDate().addDays(365))

        # range date layout
        self.label_date_start = QLabel(self.tr("Start"))
        self.layout_date_edit.setWidget(1, QFormLayout.LabelRole,
                                        self.label_date_start)
        self.date_edit_start = QDateEdit()
        self.layout_date_edit.setWidget(1, QFormLayout.FieldRole,
                                        self.date_edit_start)

        self.label_date_end = QLabel(self.tr("End"))
        self.layout_date_edit.setWidget(2, QFormLayout.LabelRole,
                                        self.label_date_end)
        self.date_edit_end = QDateEdit()
        self.layout_date_edit.setWidget(2, QFormLayout.FieldRole,
                                        self.date_edit_end)

        self.label_date_frequency = QLabel(self.tr("Frequency"))
        self.layout_date_edit.setWidget(3, QFormLayout.LabelRole,
                                        self.label_date_frequency)
        self.combo_box_frequency = QComboBox()
        self.layout_date_edit.setWidget(3, QFormLayout.FieldRole,
                                        self.combo_box_frequency)

        self.date_edit_start.setCalendarPopup(True)
        self.date_edit_start.setDisplayFormat("dd.MM.yyyy")
        self.date_edit_start.setDate(QDate.currentDate())
        self.date_edit_start.setDateRange(QDate.currentDate().addDays(-365),
                                          QDate.currentDate().addDays(365))

        self.date_edit_end.setCalendarPopup(True)
        self.date_edit_end.setDisplayFormat("dd.MM.yyyy")
        self.date_edit_end.setDate(QDate.currentDate().addDays(
            self._date_delta))
        self.date_edit_end.setDateRange(
            QDate.currentDate().addDays(self._date_delta),
            QDate.currentDate().addDays(365))

        self.combo_box_frequency.addItem(str(FrequencyDate.Every),
                                         FrequencyDate.Every)
        self.combo_box_frequency.addItem(str(FrequencyDate.Throughout),
                                         FrequencyDate.Throughout)

        # navigate
        self.layout_navigate = QHBoxLayout()

        self.layout_navigate.addStretch(1)

        self.push_button_ok = QPushButton(self.tr("OK"))
        self.layout_navigate.addWidget(self.push_button_ok)

        self.push_button_apply = QPushButton(self.tr("Apply"))
        self.layout_navigate.addWidget(self.push_button_apply)

        self.push_button_cancel = QPushButton(self.tr("Cancel"))
        self.layout_navigate.addWidget(self.push_button_cancel)

        # layout setup
        self.layout_main = QVBoxLayout()
        self.layout_main.setAlignment(Qt.AlignCenter)

        self.layout_main.addWidget(self.check_box)
        self.layout_main.addLayout(self.layout_date_edit)
        self.layout_main.addStretch(1)
        self.layout_main.addLayout(self.layout_navigate)

        self.setLayout(self.layout_main)

        # connection
        self.check_box.clicked.connect(self.check_box_clicked)
        self.date_edit_start.dateChanged.connect(self.date_edit_start_change)
        self.date_edit_end.dateChanged.connect(self.date_range_validation)
        self.combo_box_frequency.currentIndexChanged.connect(
            self.combo_box_frequency_changed)
        self.push_button_ok.clicked.connect(self.push_button_ok_clicked)
        self.push_button_apply.clicked.connect(self.push_button_apply_clicked)
        self.push_button_cancel.clicked.connect(
            self.push_button_cancel_clicked)

        self.show_simple_date()

    def set_date(self, date_item) -> None:
        """
        Sets the date for editing.

        :param date_item: Set date
        """
        if isinstance(date_item, DateItem):
            self.show_simple_date()
            self.date_edit_simple.setDate(
                QDate.fromString(date_item.date, "yyyy.MM.dd"))
            self._date = date_item

        if isinstance(date_item, DateRange):
            self.check_box.setChecked(True)
            self.show_range_date()
            self.date_edit_start.setDate(
                QDate.fromString(date_item.date_from, "yyyy.MM.dd"))
            self.date_edit_end.setDate(
                QDate.fromString(date_item.date_to, "yyyy.MM.dd"))
            self.combo_box_frequency.setCurrentText(str(date_item.frequency))
            self._date = date_item

    def get_date(self) -> (DateItem, DateRange, None):
        """
        Returns the created date.
        """
        return self._date

    def show_simple_date(self) -> None:
        """
        Switches the window to simple date editing mode.
        """
        self.label_simple_date.setVisible(True)
        self.date_edit_simple.setVisible(True)

        self.label_date_start.setVisible(False)
        self.date_edit_start.setVisible(False)
        self.label_date_end.setVisible(False)
        self.date_edit_end.setVisible(False)
        self.label_date_frequency.setVisible(False)
        self.combo_box_frequency.setVisible(False)

    def show_range_date(self) -> None:
        """
        Switches the window to range date editing mode.
        """
        self.label_date_start.setVisible(True)
        self.date_edit_start.setVisible(True)
        self.label_date_end.setVisible(True)
        self.date_edit_end.setVisible(True)
        self.label_date_frequency.setVisible(True)
        self.combo_box_frequency.setVisible(True)

        self.label_simple_date.setVisible(False)
        self.date_edit_simple.setVisible(False)

    def date_edit_start_change(self, date: QDate) -> None:
        """
        Slot for changing the end of a range of dates.

        :param date: Start of the date range
        """
        end_date = self.date_edit_end.date().addDays(
            self._date_start_temp.daysTo(date))
        self.date_edit_end.setDateRange(date.addDays(self._date_delta),
                                        date.addDays(365))
        self.date_edit_end.setDate(end_date)
        self._date_start_temp = QDate(date)

    def combo_box_frequency_changed(self, index: int) -> None:
        """
        Slot for frequency combo box.

        :param index: Current index
        """
        if index == 0:
            self._date_delta = 7
        else:
            self._date_delta = 14

        self.date_edit_end.setDateRange(
            self.date_edit_start.date().addDays(self._date_delta),
            self.date_edit_start.date().addDays(365))
        self.date_range_validation()

    def date_range_validation(self) -> None:
        """
        Checks the correctness of the entered dates.
        """
        if self.date_edit_start.date().dayOfWeek() == self.date_edit_end.date(
        ).dayOfWeek():
            if self.date_edit_start.date().daysTo(
                    self.date_edit_end.date()) % self._date_delta == 0:
                msg = ""
            else:
                msg = self.tr("The number of days between "
                              "dates is not a multiple of {}").format(
                                  self._date_delta)
        else:
            msg = self.tr("Different days of the week at dates")

        if msg == "":
            self.push_button_ok.setEnabled(True)
            self.push_button_apply.setEnabled(True)
        else:
            self.push_button_ok.setEnabled(False)
            self.push_button_apply.setEnabled(False)

        self.date_edit_start.setToolTip(msg)
        self.date_edit_end.setToolTip(msg)

    def check_box_clicked(self, value: bool) -> None:
        """
        Slot for check box.

        :param value: Check box status
        """
        if value is False:
            # simple date
            self.show_simple_date()
        else:
            # range date
            self.show_range_date()

    def push_button_ok_clicked(self) -> None:
        """
        Slot for ok button.
        """
        if self.push_button_apply_clicked():
            self.close()

    def push_button_apply_clicked(self) -> bool:
        """
        Slot for apply button.
        """
        try:
            if self.check_box.isChecked() is False:
                # simple date
                self._date = DateItem(
                    self.date_edit_simple.date().toString("yyyy.MM.dd"))
            else:
                # range date
                self._date = DateRange(
                    self.date_edit_start.date().toString("yyyy.MM.dd"),
                    self.date_edit_end.date().toString("yyyy.MM.dd"),
                    self.combo_box_frequency.currentData(Qt.UserRole))
            return True
        except InvalidDatePair as pair_ex:
            QMessageBox.warning(self, self.tr("Date error"), str(pair_ex))

        except Exception as ex:
            QMessageBox.critical(self, self.tr("Unknown error"), str(ex))

        return False

    def push_button_cancel_clicked(self) -> None:
        """
        Slot for cancel button.
        """
        self._date = None
        self.close()
Example #4
0
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"))
Example #5
0
class HeadWidget(QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.resize(700, 105)
        self.setMinimumWidth(700)

        # Widgets
        self.work_type = QComboBox(self)
        self.work_type.setToolTip('Тип работы')
        self.work_type.addItems(work_types)
        self.work_type.setSizePolicy(QSizePolicy.MinimumExpanding,
                                     QSizePolicy.Preferred)
        self.lesson = QComboBox(self)
        self.lesson.setToolTip('Урок')
        self.lesson.addItems(school_lessons)
        self.lesson.setSizePolicy(QSizePolicy.MinimumExpanding,
                                  QSizePolicy.Preferred)
        actuality_label = QLabel('Дата начала', self)
        self.actuality = QDateEdit(self)
        self.actuality.setDate(date.today())
        self.actuality.setMinimumDate(date(2017, 9, 1))
        self.actuality.setToolTip('Дата начала')
        deadline_label = QLabel('Дата окончания', self)
        self.deadline = QDateEdit(self)
        self.deadline.setDate(date.today() + timedelta(1))
        self.deadline.setMinimumDate(date.today())
        self.deadline.setToolTip('Дата окончания')
        priority_label = QLabel('Приоритет', self)
        self.priority = QDoubleSpinBox(self)
        # self.priority.setMaximumWidth(80)
        self.priority.setMaximum(1.0)
        self.priority.setSingleStep(0.01)
        self.priority.setValue(0.5)
        self.priority.setToolTip('Приоритет')
        time_label = QLabel('Время выполнения', self)
        self.time = QTimeEdit(self)
        # self.time.setMaximumWidth(80)
        self.time.setDisplayFormat('HH:mm')
        self.time.setToolTip('Время выполнения')
        self.add_button = QPushButton('Добавить', self)
        self.add_button.setToolTip('Добавить в список')

        # Layouts
        actuality_layout = QHBoxLayout()
        actuality_layout.setSizeConstraint(QHBoxLayout.SetFixedSize)
        actuality_layout.addWidget(actuality_label)
        actuality_layout.addWidget(self.actuality)
        deadline_layout = QHBoxLayout()
        deadline_layout.setSizeConstraint(QHBoxLayout.SetFixedSize)
        deadline_layout.addWidget(deadline_label)
        deadline_layout.addWidget(self.deadline)
        priority_layout = QHBoxLayout()
        priority_layout.setSizeConstraint(QHBoxLayout.SetFixedSize)
        priority_layout.addWidget(priority_label)
        priority_layout.addWidget(self.priority)
        time_layout = QHBoxLayout()
        time_layout.setSizeConstraint(QHBoxLayout.SetFixedSize)
        time_layout.addWidget(time_label)
        time_layout.addWidget(self.time)
        layout = QGridLayout(self)
        layout.addWidget(self.lesson, 0, 0)
        layout.addWidget(self.work_type, 1, 0)
        layout.addLayout(actuality_layout, 0, 2)
        layout.addLayout(deadline_layout, 1, 2)
        layout.addLayout(time_layout, 0, 3)
        layout.addLayout(priority_layout, 1, 3)
        layout.addWidget(self.add_button, 2, 3)

        # Tab order
        self.setTabOrder(self.lesson, self.work_type)
        self.setTabOrder(self.work_type, self.actuality)
        self.setTabOrder(self.actuality, self.deadline)
        self.setTabOrder(self.deadline, self.time)
        self.setTabOrder(self.time, self.priority)
        self.setTabOrder(self.priority, self.add_button)