Esempio n. 1
0
 def createEditor(self, parent: QtWidgets.QWidget,
                  _: QtWidgets.QStyleOptionViewItem,
                  _2: QtCore.QModelIndex) -> QtWidgets.QWidget:
     date_edit = QtWidgets.QDateEdit(parent)
     date_edit.setCalendarPopup(True)
     date_edit.setDisplayFormat("dd.MM.yyyy")
     return date_edit
 def add_date_distant_failure(self):
     """
     Create date distant failure components.
     """
     self.Dt_Distant_Failure = QtWidgets.QDateEdit()
     self.Dt_Distant_Failure.setDisplayFormat("dd/MM/yyyy")
     self.Dt_Distant_Failure.setCalendarPopup(True)
     self.Dt_Distant_Failure.setDisabled(True)
     self.label_Dt_Distant_Failure = QtWidgets.QLabel()
Esempio n. 3
0
 def add_date_last_existence(self):
     """
     Create date of last existence components.
     """
     self.label_DT_Last_existence = QtWidgets.QLabel()
     self.Dt_Last_Existence = QtWidgets.QDateEdit()
     self.Dt_Last_Existence.setDisplayFormat("dd/MM/yyyy")
     self.Dt_Last_Existence.setDate(QDate.currentDate())
     self.Dt_Last_Existence.setCalendarPopup(True)
Esempio n. 4
0
 def add_date_at_diagnosis(self):
     """
     Create date at diagnosis components.
     """
     self.date_diagnosis = QtWidgets.QDateEdit()
     self.date_diagnosis.setDisplayFormat("dd/MM/yyyy")
     self.date_diagnosis.setDate(QDate.currentDate())
     self.date_diagnosis.setCalendarPopup(True)
     self.label_date_diagnosis = QtWidgets.QLabel()
Esempio n. 5
0
 def add_date_regional_failure(self):
     """
     Create date regional failure components.
     """
     self.label_Dt_Regional_Failure = QtWidgets.QLabel()
     self.Dt_REgional_failure = QtWidgets.QDateEdit()
     self.Dt_REgional_failure.setDisplayFormat("dd/MM/yyyy")
     self.Dt_REgional_failure.setDate(QDate.currentDate())
     self.Dt_REgional_failure.setCalendarPopup(True)
     self.Dt_REgional_failure.setDisabled(True)
Esempio n. 6
0
 def add_dob(self):
     """
     Create date of birth components.
     """
     self.label_DB = QtWidgets.QLabel()
     self.label_DB.setObjectName("label_DB")
     self.date_of_birth = QtWidgets.QDateEdit()
     self.date_of_birth.setDisplayFormat("dd/MM/yyyy")
     self.date_of_birth.setDate(QDate.currentDate())
     self.date_of_birth.setCalendarPopup(True)
Esempio n. 7
0
def argument_widget_factory(component: str, title: str = None, optional: bool = True) -> QtWidgets.QWidget:
    """
    Factory function for generating various subclasses of instance `PySide6.QtWidgets.QWidgets` pre-configured for user-input. 

    Parameters
    ----------
    1. **components** : ``str``
        Allowable values: `date`, `decimal`, `currency`, `integer`, `select`, `flag`, `symbols`, `symbol`. If `components=None`, a `PySide6.QtWidgets.QWidget` will be returned.
    """
    widget = atomic_widget_factory(None, None)
    widget.setObjectName('input-container')

    if optional:
        toggle_widget = QtWidgets.QCheckBox()
        toggle_widget.setObjectName('input-toggle')
        toggle_widget.setSizePolicy(QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum))

    label_widget = QtWidgets.QLabel(title)
    label_widget.setAlignment(QtCore.Qt.AlignBottom)
    label_widget.setObjectName('input-label')

    if component == 'date':
        main_widget = QtWidgets.QDateEdit()
        main_widget.setDate(QtCore.QDate.currentDate())
        main_widget.setMaximumDate(QtCore.QDate.currentDate())
        main_widget.setMinimumDate(QtCore.QDate(
            constants.constants['PRICE_YEAR_CUTOFF'], 1, 1))
        main_widget.setObjectName(component)
        main_widget.setEnabled(False)

    elif component == 'decimal':
        main_widget = QtWidgets.QLineEdit()
        main_widget.setObjectName(component)
        main_widget.setValidator(
            QtGui.QDoubleValidator(-100, 100, 5, main_widget))
        main_widget.setEnabled(False)
        main_widget.setSizePolicy(QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum))

    elif component == 'currency':
        main_widget = QtWidgets.QLineEdit()
        main_widget.setObjectName(component)
        # https://stackoverflow.com/questions/354044/what-is-the-best-u-s-currency-regex
        main_widget.setValidator(QtGui.QRegularExpressionValidator(
            r"[+-]?[0-9]{1,3}(?:,?[0-9]{3})*(?:\.[0-9]{2})", main_widget))
        main_widget.setEnabled(False)
        main_widget.setSizePolicy(QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum))

    elif component == 'integer':
        main_widget = QtWidgets.QLineEdit()
        main_widget.setObjectName(component)
        main_widget.setValidator(QtGui.QIntValidator(0, 100, main_widget))
        main_widget.setEnabled(False)
        main_widget.setSizePolicy(QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum))

    elif component == 'select':
        return None

    elif component == 'flag':
        main_widget = QtWidgets.QRadioButton(title)
        main_widget.setObjectName(component)
        main_widget.setSizePolicy(QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum))

    elif component == 'symbols':
        main_widget = QtWidgets.QLineEdit()
        main_widget.setObjectName(component)
        main_widget.setMaxLength(100)
        main_widget.setSizePolicy(QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum))

    elif component == 'symbol':
        main_widget = QtWidgets.QLineEdit()
        main_widget.setObjectName(component)
        main_widget.setMaxLength(100)
        main_widget.setSizePolicy(QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum))
        main_widget.setValidator(
            QtGui.QRegularExpressionValidator(r"[A-Za-z]+", main_widget))

    else:
        main_widget = QtWidgets.QWidget()

    widget.layout().addWidget(label_widget)
    widget.layout().addWidget(main_widget)

    if optional:
        toggle_widget.stateChanged.connect(
            lambda: main_widget.setEnabled((not main_widget.isEnabled())))
        widget.layout().addWidget(toggle_widget)

    return widget
Esempio n. 8
0
def create_popup_date_edit():
    date_edit = QtWidgets.QDateEdit(calendarPopup=True)
    date_edit.setDate(QtCore.QDate.currentDate())
    return date_edit
Esempio n. 9
0
    def setupUi(self, AddEditMovieDlg):
        if not AddEditMovieDlg.objectName():
            AddEditMovieDlg.setObjectName(u"AddEditMovieDlg")
        AddEditMovieDlg.resize(484, 334)
        self.gridLayout = QtWidgets.QGridLayout(AddEditMovieDlg)
        # ifndef Q_OS_MAC
        self.gridLayout.setSpacing(6)
        # endif
        # ifndef Q_OS_MAC
        self.gridLayout.setContentsMargins(9, 9, 9, 9)
        # endif
        self.gridLayout.setObjectName(u"gridLayout")
        self.buttonBox = QtWidgets.QDialogButtonBox(AddEditMovieDlg)
        self.buttonBox.setObjectName(u"buttonBox")
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                          | QtWidgets.QDialogButtonBox.NoButton
                                          | QtWidgets.QDialogButtonBox.Ok)

        self.gridLayout.addWidget(self.buttonBox, 4, 4, 1, 2)

        self.titleLineEdit = QtWidgets.QLineEdit(AddEditMovieDlg)
        self.titleLineEdit.setObjectName(u"titleLineEdit")

        self.gridLayout.addWidget(self.titleLineEdit, 0, 1, 1, 5)

        self.label_5 = QtWidgets.QLabel(AddEditMovieDlg)
        self.label_5.setObjectName(u"label_5")

        self.gridLayout.addWidget(self.label_5, 2, 0, 1, 2)

        self.notesTextEdit = QtWidgets.QTextEdit(AddEditMovieDlg)
        self.notesTextEdit.setObjectName(u"notesTextEdit")
        self.notesTextEdit.setTabChangesFocus(True)
        self.notesTextEdit.setLineWrapMode(QtWidgets.QTextEdit.NoWrap)
        self.notesTextEdit.setAcceptRichText(False)

        self.gridLayout.addWidget(self.notesTextEdit, 3, 0, 1, 6)

        self.label_2 = QtWidgets.QLabel(AddEditMovieDlg)
        self.label_2.setObjectName(u"label_2")

        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)

        self.yearSpinBox = QtWidgets.QSpinBox(AddEditMovieDlg)
        self.yearSpinBox.setObjectName(u"yearSpinBox")
        self.yearSpinBox.setAlignment(QtCore.Qt.AlignRight)
        self.yearSpinBox.setMaximum(2100)
        self.yearSpinBox.setMinimum(1890)
        self.yearSpinBox.setValue(1890)

        self.gridLayout.addWidget(self.yearSpinBox, 1, 1, 1, 1)

        self.label_3 = QtWidgets.QLabel(AddEditMovieDlg)
        self.label_3.setObjectName(u"label_3")

        self.gridLayout.addWidget(self.label_3, 1, 2, 1, 1)

        self.minutesSpinBox = QtWidgets.QSpinBox(AddEditMovieDlg)
        self.minutesSpinBox.setObjectName(u"minutesSpinBox")
        self.minutesSpinBox.setAlignment(QtCore.Qt.AlignRight)
        self.minutesSpinBox.setMaximum(720)

        self.gridLayout.addWidget(self.minutesSpinBox, 1, 3, 1, 1)

        self.label_4 = QtWidgets.QLabel(AddEditMovieDlg)
        self.label_4.setObjectName(u"label_4")

        self.gridLayout.addWidget(self.label_4, 1, 4, 1, 1)

        self.acquiredDateEdit = QtWidgets.QDateEdit(AddEditMovieDlg)
        self.acquiredDateEdit.setObjectName(u"acquiredDateEdit")
        self.acquiredDateEdit.setAlignment(QtCore.Qt.AlignRight)

        self.gridLayout.addWidget(self.acquiredDateEdit, 1, 5, 1, 1)

        self.label = QtWidgets.QLabel(AddEditMovieDlg)
        self.label.setObjectName(u"label")

        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)

        # if QT_CONFIG(shortcut)
        self.label_5.setBuddy(self.notesTextEdit)
        self.label_2.setBuddy(self.yearSpinBox)
        self.label_3.setBuddy(self.minutesSpinBox)
        self.label_4.setBuddy(self.acquiredDateEdit)
        self.label.setBuddy(self.titleLineEdit)
        # endif // QT_CONFIG(shortcut)
        QtWidgets.QWidget.setTabOrder(self.titleLineEdit, self.yearSpinBox)
        QtWidgets.QWidget.setTabOrder(self.yearSpinBox, self.minutesSpinBox)
        QtWidgets.QWidget.setTabOrder(self.minutesSpinBox,
                                      self.acquiredDateEdit)
        QtWidgets.QWidget.setTabOrder(self.acquiredDateEdit,
                                      self.notesTextEdit)
        QtWidgets.QWidget.setTabOrder(self.notesTextEdit, self.buttonBox)

        self.retranslateUi(AddEditMovieDlg)
        self.buttonBox.accepted.connect(AddEditMovieDlg.accept)
        self.buttonBox.rejected.connect(AddEditMovieDlg.reject)

        QtCore.QMetaObject.connectSlotsByName(AddEditMovieDlg)