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()
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)
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()
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)
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)
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
def create_popup_date_edit(): date_edit = QtWidgets.QDateEdit(calendarPopup=True) date_edit.setDate(QtCore.QDate.currentDate()) return date_edit
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)