Python PyQt5.QtGui.QRegExpValidator() Examples
The following are 20
code examples of PyQt5.QtGui.QRegExpValidator().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
PyQt5.QtGui
, or try the search function
.
Example #1
Source File: dataRecord.py From face_recognition_py with GNU General Public License v3.0 | 7 votes |
def __init__(self): super(UserInfoDialog, self).__init__() loadUi('./ui/UserInfoDialog.ui', self) self.setWindowIcon(QIcon('./icons/icon.png')) self.setFixedSize(425, 300) # 使用正则表达式限制用户输入 stu_id_regx = QRegExp('^[0-9]{12}$') stu_id_validator = QRegExpValidator(stu_id_regx, self.stuIDLineEdit) self.stuIDLineEdit.setValidator(stu_id_validator) cn_name_regx = QRegExp('^[\u4e00-\u9fa5]{1,10}$') cn_name_validator = QRegExpValidator(cn_name_regx, self.cnNameLineEdit) self.cnNameLineEdit.setValidator(cn_name_validator) en_name_regx = QRegExp('^[ A-Za-z]{1,16}$') en_name_validator = QRegExpValidator(en_name_regx, self.enNameLineEdit) self.enNameLineEdit.setValidator(en_name_validator)
Example #2
Source File: ChecksumWidget.py From urh with GNU General Public License v3.0 | 6 votes |
def __init__(self, checksum_label: ChecksumLabel, message: Message, proto_view: int, parent=None): super().__init__(parent) self.ui = Ui_ChecksumOptions() self.ui.setupUi(self) self.checksum_label = checksum_label self.data_range_table_model = self.RangeTableModel(checksum_label, message, proto_view, parent=self) self.ui.tableViewDataRanges.setItemDelegateForColumn(0, SpinBoxDelegate(1, 999999, self)) self.ui.tableViewDataRanges.setItemDelegateForColumn(1, SpinBoxDelegate(1, 999999, self)) self.ui.tableViewDataRanges.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.ui.tableViewDataRanges.setModel(self.data_range_table_model) self.ui.tableViewDataRanges.setEditTriggers(QAbstractItemView.AllEditTriggers) self.display_crc_data_ranges_in_table() self.ui.comboBoxCRCFunction.addItems([crc_name for crc_name in GenericCRC.DEFAULT_POLYNOMIALS]) self.ui.comboBoxCRCFunction.addItems([special_crc_name for special_crc_name in self.SPECIAL_CRCS]) self.ui.lineEditCRCPolynomial.setValidator(QRegExpValidator(QRegExp("[0-9,a-f]*"))) self.ui.comboBoxCategory.clear() for _, member in self.checksum_label.Category.__members__.items(): self.ui.comboBoxCategory.addItem(member.value) self.set_ui_for_category() self.setFocus() self.create_connects()
Example #3
Source File: bap_trace.py From bap-ida-python with MIT License | 6 votes |
def __init__(self, parent=None): super(MachineSelector, self).__init__(parent) box = QtWidgets.QHBoxLayout(self) label = MonitoringLabel('List of &machines (threads)') self.is_ready = label.is_ready self.updated = label.updated box.addWidget(label) self._machines = QtWidgets.QLineEdit('all') self._machines.setToolTip('an integer, \ a comma-separated list of integers, or "all"') grammar = QRegExp(r'\s*(all|\d+\s*(,\s*\d+\s*)*)\s*') valid = QtGui.QRegExpValidator(grammar) self._machines.setValidator(valid) label.setBuddy(self._machines) box.addWidget(self._machines) box.addStretch(1) self.setLayout(box)
Example #4
Source File: fuzzer.py From pbtk with GNU General Public License v3.0 | 6 votes |
def __init__(self, min_, max_, float_=False): super(QwordSpinBox, self).__init__() self._minimum = min_ self._maximum = max_ self.int_ = float if float_ else int rx = QRegExp('-?\d{0,20}(?:\.\d{0,20})?' if float_ else '-?\d{0,20}') validator = QRegExpValidator(rx, self) self._lineEdit = QLineEdit(self) self._lineEdit.setText(str(self.int_(0))) self._lineEdit.setValidator(validator) self._lineEdit.textEdited.connect(partial(self.setValue, change=False)) self.editingFinished.connect(lambda: self.setValue(self.value(), update=False) or True) self.setLineEdit(self._lineEdit)
Example #5
Source File: basic_sched.py From Pythonic with GNU General Public License v3.0 | 6 votes |
def at_time(self): logging.debug('at_time() called') self.at_time_input = QWidget() self.at_time_layout = QVBoxLayout(self.at_time_input) self.time_text = QLabel() self.time_text.setText(QC.translate('', 'At:')) self.time_input = QLineEdit() regexp_validator = QRegExp('^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$') self.time_validator = QRegExpValidator(regexp_validator) self.time_input.setValidator(self.time_validator) self.time_input.setPlaceholderText(QC.translate('', 'hh:mm')) self.at_time_layout.addWidget(self.time_text) self.at_time_layout.addWidget(self.time_input) self.at_time_input.hide() self.options_box_layout.addWidget(self.at_time_input)
Example #6
Source File: basic_sched.py From Pythonic with GNU General Public License v3.0 | 5 votes |
def time_between(self): logging.debug('time_between() called') self.time_between_input = QWidget() self.time_between_layout = QVBoxLayout(self.time_between_input) self.time_between_txt = QLabel() self.time_between_txt.setText(QC.translate('', 'Between')) regexp_validator = QRegExp('^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$') self.time_validator = QRegExpValidator(regexp_validator) self.time_row = QWidget() self.time_row_layout = QHBoxLayout(self.time_row) self.start_time_input = QLineEdit() self.start_time_input.setValidator(self.time_validator) self.start_time_input.setPlaceholderText(QC.translate('', 'hh:mm (default 00:00)')) self.and_text = QLabel() self.and_text.setText(QC.translate('', 'and')) self.stop_time_input = QLineEdit() self.stop_time_input.setValidator(self.time_validator) self.stop_time_input.setPlaceholderText(QC.translate('', 'hh:mm (default 00:00)')) self.time_row_layout.addWidget(self.start_time_input) self.time_row_layout.addWidget(self.and_text) self.time_row_layout.addWidget(self.stop_time_input) self.time_between_layout.addWidget(self.time_between_txt) self.time_between_layout.addWidget(self.time_row) self.time_between_input.hide() self.options_box_layout.addWidget(self.time_between_input)
Example #7
Source File: hexspinbox.py From crazyflie-clients-python with GNU General Public License v2.0 | 5 votes |
def __init__(self, *args): QAbstractSpinBox.__init__(self, *args) regexp = QtCore.QRegExp('^0x[0-9A-Fa-f]{1,10}$') self.validator = QtGui.QRegExpValidator(regexp) self._value = 0
Example #8
Source File: DeviceSettingsWidget.py From urh with GNU General Public License v3.0 | 5 votes |
def __init__(self, project_manager: ProjectManager, is_tx: bool, backend_handler: BackendHandler = None, continuous_send_mode=False, parent=None): super().__init__(parent) self.ui = Ui_FormDeviceSettings() self.ui.setupUi(self) self.__device = None # type: VirtualDevice self.is_tx = is_tx self.is_rx = not is_tx if backend_handler is None: self.backend_handler = BackendHandler() else: self.backend_handler = backend_handler if self.is_rx: self.ui.spinBoxNRepeat.hide() self.ui.labelNRepeat.hide() else: self.ui.labelDCCorrection.hide() self.ui.checkBoxDCCorrection.hide() self.bw_sr_are_locked = settings.read("lock_bandwidth_sample_rate", True, bool) self.ui.cbDevice.clear() items = self.get_devices_for_combobox(continuous_send_mode) self.ui.cbDevice.addItems(items) self.bootstrap(project_manager.device_conf, enforce_default=True) self.ui.btnLockBWSR.setChecked(self.bw_sr_are_locked) self.on_btn_lock_bw_sr_clicked() ip_range = "(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])" ip_regex = QRegExp("^" + ip_range + "\\." + ip_range + "\\." + ip_range + "\\." + ip_range + "$") self.ui.lineEditIP.setValidator(QRegExpValidator(ip_regex)) self.create_connects() self.sync_gain_sliders()
Example #9
Source File: ModulatorDialog.py From urh with GNU General Public License v3.0 | 5 votes |
def update_modulation_parameters(self): n = len(self.current_modulator.parameters) - 1 if self.current_modulator.is_amplitude_based: regex = r"(100|[0-9]{1,2})" elif self.current_modulator.is_frequency_based: regex = r"((-?[0-9]+)[.,]?[0-9]*[kKmMgG]?)" elif self.current_modulator.is_phase_based: regex = r"(-?(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9]))" else: raise ValueError("Unknown modulation type") full_regex = r"^(" + regex + r"/){" + str(n) + "}" + regex + r"$" self.ui.lineEditParameters.setValidator(QRegExpValidator(QRegExp(full_regex))) self.ui.lineEditParameters.setText(self.current_modulator.parameters_string)
Example #10
Source File: pid_dialogs.py From artisan with GNU General Public License v3.0 | 5 votes |
def createsegmenttable(self): self.segmenttable.setRowCount(16) self.segmenttable.setColumnCount(4) self.segmenttable.setHorizontalHeaderLabels([QApplication.translate("StatusBar","SV",None), QApplication.translate("StatusBar","Ramp (MM:SS)",None), QApplication.translate("StatusBar","Soak (MM:SS)",None),""]) self.segmenttable.setEditTriggers(QTableWidget.NoEditTriggers) self.segmenttable.setSelectionBehavior(QTableWidget.SelectRows) self.segmenttable.setSelectionMode(QTableWidget.SingleSelection) self.segmenttable.setShowGrid(True) self.segmenttable.verticalHeader().setSectionResizeMode(2) regextime = QRegExp(r"^-?[0-9]?[0-9]?[0-9]:[0-5][0-9]$") #populate table for i in range(16): #create widgets svkey = "segment" + str(i+1) + "sv" rampkey = "segment" + str(i+1) + "ramp" soakkey = "segment" + str(i+1) + "soak" svedit = QLineEdit(str(self.aw.fujipid.PXG4[svkey][0])) svedit.setValidator(self.aw.createCLocaleDoubleValidator(0., 999., 1, svedit)) rampedit = QLineEdit(stringfromseconds(self.aw.fujipid.PXG4[rampkey][0])) rampedit.setValidator(QRegExpValidator(regextime,self)) soakedit = QLineEdit(stringfromseconds(self.aw.fujipid.PXG4[soakkey][0])) soakedit.setValidator(QRegExpValidator(regextime,self)) setButton = QPushButton(QApplication.translate("Button","Set",None)) setButton.setFocusPolicy(Qt.NoFocus) setButton.clicked.connect(self.setsegment) #add widgets to the table self.segmenttable.setCellWidget(i,0,svedit) self.segmenttable.setCellWidget(i,1,rampedit) self.segmenttable.setCellWidget(i,2,soakedit) self.segmenttable.setCellWidget(i,3,setButton) #idn = id number, sv = float set value, ramp = ramp value, soak = soak value
Example #11
Source File: pid_dialogs.py From artisan with GNU General Public License v3.0 | 5 votes |
def createsegmenttable(self): self.segmenttable.setRowCount(8) self.segmenttable.setColumnCount(4) self.segmenttable.setHorizontalHeaderLabels([QApplication.translate("Table","SV",None), QApplication.translate("Table","Ramp HH:MM",None), QApplication.translate("Table","Soak HH:MM",None),""]) self.segmenttable.setEditTriggers(QTableWidget.NoEditTriggers) self.segmenttable.setSelectionBehavior(QTableWidget.SelectRows) self.segmenttable.setSelectionMode(QTableWidget.SingleSelection) self.segmenttable.setShowGrid(True) self.segmenttable.verticalHeader().setSectionResizeMode(2) regextime = QRegExp(r"^-?[0-9]?[0-9]?[0-9]:[0-5][0-9]$") #populate table for i in range(8): #create widgets svkey = "segment" + str(i+1) + "sv" rampkey = "segment" + str(i+1) + "ramp" soakkey = "segment" + str(i+1) + "soak" svedit = QLineEdit(str(self.aw.fujipid.PXR[svkey][0])) svedit.setValidator(self.aw.createCLocaleDoubleValidator(0., 999., 1, svedit)) rampedit = QLineEdit(stringfromseconds(self.aw.fujipid.PXR[rampkey][0])) rampedit.setValidator(QRegExpValidator(regextime,self)) soakedit = QLineEdit(stringfromseconds(self.aw.fujipid.PXR[soakkey][0])) soakedit.setValidator(QRegExpValidator(regextime,self)) setButton = QPushButton(QApplication.translate("Button","Set",None)) setButton.clicked.connect(self.setsegment) setButton.setFocusPolicy(Qt.NoFocus) #add widgets to the table self.segmenttable.setCellWidget(i,0,svedit) self.segmenttable.setCellWidget(i,1,rampedit) self.segmenttable.setCellWidget(i,2,soakedit) self.segmenttable.setCellWidget(i,3,setButton) #idn = id number, sv = float set value, ramp = ramp value, soak = soak value
Example #12
Source File: designer.py From artisan with GNU General Public License v3.0 | 5 votes |
def __init__(self,parent = None, aw = None, values = [0,0]): super(pointDlg,self).__init__(parent, aw) self.values = values self.setWindowTitle(QApplication.translate("Form Caption","Add Point",None)) self.tempEdit = QLineEdit(str(int(round(self.values[1])))) self.tempEdit.setValidator(QIntValidator(0, 999, self.tempEdit)) self.tempEdit.setFocus() self.tempEdit.setAlignment(Qt.AlignRight) templabel = QLabel(QApplication.translate("Label", "temp",None)) regextime = QRegExp(r"^-?[0-9]?[0-9]?[0-9]:[0-5][0-9]$") self.timeEdit = QLineEdit(stringfromseconds(self.values[0],leadingzero=False)) self.timeEdit.setAlignment(Qt.AlignRight) self.timeEdit.setValidator(QRegExpValidator(regextime,self)) timelabel = QLabel(QApplication.translate("Label", "time",None)) # connect the ArtisanDialog standard OK/Cancel buttons self.dialogbuttons.accepted.connect(self.return_values) self.dialogbuttons.rejected.connect(self.reject) buttonLayout = QHBoxLayout() buttonLayout.addStretch() buttonLayout.addWidget(self.dialogbuttons) grid = QGridLayout() grid.addWidget(timelabel,0,0) grid.addWidget(self.timeEdit,0,1) grid.addWidget(templabel,1,0) grid.addWidget(self.tempEdit,1,1) mainLayout = QVBoxLayout() mainLayout.addLayout(grid) mainLayout.addStretch() mainLayout.addLayout(buttonLayout) self.setLayout(mainLayout) self.dialogbuttons.button(QDialogButtonBox.Ok).setFocus()
Example #13
Source File: app.py From liquid-swap with GNU General Public License v3.0 | 5 votes |
def set_re_float(line_edit): line_edit.setValidator(QRegExpValidator(QRegExp('^\d*\.?\d+$'), line_edit)) # TODO: add regex also for asset id
Example #14
Source File: gui.py From biometric-attendance-sync-tool with GNU General Public License v3.0 | 5 votes |
def validate_data(self, reg_exp, field_name): field = getattr(self, field_name) reg_ex = QRegExp(reg_exp) input_validator = QRegExpValidator(reg_ex, field) field.setValidator(input_validator)
Example #15
Source File: dialogs.py From IDArling with GNU General Public License v3.0 | 5 votes |
def __init__(self, plugin): super(CreateProjectDialog, self).__init__() self._plugin = plugin # General setup of the dialog self._plugin.logger.debug("Create project dialog") self.setWindowTitle("Create Project") icon_path = plugin.plugin_resource("upload.png") self.setWindowIcon(QIcon(icon_path)) self.resize(100, 100) # Set up the layout and widgets layout = QVBoxLayout(self) self._nameLabel = QLabel("<b>Project Name</b>") layout.addWidget(self._nameLabel) self._nameEdit = QLineEdit() self._nameEdit.setValidator(QRegExpValidator(QRegExp("[a-zA-Z0-9-]+"))) layout.addWidget(self._nameEdit) buttons = QWidget(self) buttons_layout = QHBoxLayout(buttons) create_button = QPushButton("Create") create_button.clicked.connect(self.accept) buttons_layout.addWidget(create_button) cancel_button = QPushButton("Cancel") cancel_button.clicked.connect(self.reject) buttons_layout.addWidget(cancel_button) layout.addWidget(buttons)
Example #16
Source File: core.py From face_recognition_py with GNU General Public License v3.0 | 5 votes |
def __init__(self): super(TelegramBotDialog, self).__init__() loadUi('./ui/TelegramBotDialog.ui', self) self.setWindowIcon(QIcon('./icons/icon.png')) self.setFixedSize(550, 358) chat_id_regx = QRegExp('^\d+$') chat_id_validator = QRegExpValidator(chat_id_regx, self.telegramIDLineEdit) self.telegramIDLineEdit.setValidator(chat_id_validator) self.okButton.clicked.connect(self.telegramBotSettings)
Example #17
Source File: QLineEdit.py From PyQt5 with MIT License | 5 votes |
def initUI(self): # =================== WIDGET QLINEEDIT ===================== self.lineEdit = QLineEdit(self) # ================== FUNCIONES PÚBLICAS ================== self.lineEdit.setGeometry(20, 20, 360, 24) self.lineEdit.setText("Andres Niño") # self.lineEdit.setAlignment(Qt.AlignLeft) # self.lineEdit.setClearButtonEnabled(True) # self.lineEdit.setCursorPosition(6) # self.lineEdit.home(True) # self.lineEdit.end(True) # self.lineEdit.setEchoMode(QLineEdit.Password) # self.lineEdit.setFrame(False) # self.lineEdit.setMaxLength(2) # self.lineEdit.setPlaceholderText("Andres Niño") # self.lineEdit.setReadOnly(True) # self.lineEdit.setSelection(3, 2) # self.lineEdit.selectAll() # self.lineEdit.deselect() # self.lineEdit.setTextMargins(10, 0, 6, 1) # self.lineEdit.setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#") # self.lineEdit.setValidator(QRegExpValidator(QRegExp("[0-9]+"))) # print(self.lineEdit.text()) fuente = QFont() fuente.setPointSize(10) fuente.setCapitalization(QFont.Capitalize) self.lineEdit.setFont(fuente) # ======================= SEÑALES ======================== # self.lineEdit.returnPressed.connect(lambda: print("Se presiono la tecla Enter...")) # self.lineEdit.textChanged.connect(lambda: print("El texto cambio...")) # self.lineEdit.textEdited.connect(lambda: print("El texto cambio...")) # ================================================================
Example #18
Source File: UI_spreadsheet.py From pychemqt with GNU General Public License v3.0 | 5 votes |
def createEditor(self, parent, option, index): if index.column() < 4: self.editor = QtWidgets.QComboBox(parent) self.editor.addItems(self.items[index.column()]) else: self.editor = QtWidgets.QLineEdit(parent) regExp = QtCore.QRegExp("[A-Z]{1,3}\\d{1,5}") validator = QtGui.QRegExpValidator(regExp) self.editor.setValidator(validator) return self.editor
Example #19
Source File: ProjectDialog.py From urh with GNU General Public License v3.0 | 4 votes |
def __init__(self, new_project=True, project_manager: ProjectManager = None, parent=None): super().__init__(parent) if not new_project: assert project_manager is not None self.ui = Ui_ProjectDialog() self.ui.setupUi(self) self.setWindowFlags(Qt.Window) if new_project: self.participant_table_model = ParticipantTableModel([]) else: self.participant_table_model = ParticipantTableModel(project_manager.participants) self.ui.spinBoxSampleRate.setValue(project_manager.device_conf["sample_rate"]) self.ui.spinBoxFreq.setValue(project_manager.device_conf["frequency"]) self.ui.spinBoxBandwidth.setValue(project_manager.device_conf["bandwidth"]) self.ui.spinBoxGain.setValue(project_manager.device_conf.get("gain", config.DEFAULT_GAIN)) self.ui.txtEdDescription.setPlainText(project_manager.description) self.ui.lineEdit_Path.setText(project_manager.project_path) self.ui.lineEditBroadcastAddress.setText(project_manager.broadcast_address_hex) self.ui.btnSelectPath.hide() self.ui.lineEdit_Path.setDisabled(True) self.setWindowTitle("Edit project settings") self.ui.lNewProject.setText("Edit project") self.ui.tblParticipants.setModel(self.participant_table_model) self.participant_table_model.update() self.ui.lineEditBroadcastAddress.setValidator(QRegExpValidator(QRegExp("([a-fA-F ]|[0-9]){,}"))) self.sample_rate = self.ui.spinBoxSampleRate.value() self.freq = self.ui.spinBoxFreq.value() self.bandwidth = self.ui.spinBoxBandwidth.value() self.gain = self.ui.spinBoxGain.value() self.description = self.ui.txtEdDescription.toPlainText() self.broadcast_address_hex = self.ui.lineEditBroadcastAddress.text() self.path = self.ui.lineEdit_Path.text() self.new_project = new_project self.committed = False self.setModal(True) completer = QCompleter() completer.setModel(QDirModel(completer)) self.ui.lineEdit_Path.setCompleter(completer) self.create_connects() # add two participants if self.participant_table_model.rowCount() == 0 and new_project: self.ui.btnAddParticipant.click() self.ui.btnAddParticipant.click() if new_project: self.ui.lineEdit_Path.setText(os.path.realpath(os.path.join(os.curdir, "new"))) self.on_line_edit_path_text_edited() self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
Example #20
Source File: parameters.py From ddt4all with GNU General Public License v3.0 | 4 votes |
def hexeditor(self): self.dialogbox = widgets.QWidget() wlayout = widgets.QVBoxLayout() diaglabel = widgets.QLabel(_("Diagnostic session")) inputlabel = widgets.QLabel(_("Input")) outputlabel = widgets.QLabel(_("Output")) diaglabel.setAlignment(core.Qt.AlignCenter) inputlabel.setAlignment(core.Qt.AlignCenter) outputlabel.setAlignment(core.Qt.AlignCenter) self.diagsession = widgets.QComboBox() rqsts = self.ecurequestsparser.requests.keys() self.request_editor_sds = {} self.diagsession.addItem(u"None") self.request_editor_sds[u'None'] = "" for diag in rqsts: if "start" in diag.lower() and "session" in diag.lower() and 'diag' in diag.lower(): sds = self.ecurequestsparser.requests[diag] if u'Session Name' in sds.sendbyte_dataitems: session_names = self.ecurequestsparser.data[u'Session Name'] for name in session_names.items.keys(): sds_stream = " ".join(sds.build_data_stream({u'Session Name': name})) name = name + "[" + sds_stream + "]" self.request_editor_sds[name] = sds_stream self.diagsession.addItem(name) print sds.sendbyte_dataitems[u'Session Name'] if len(self.request_editor_sds) == 1: for k, v in self.sds.iteritems(): self.diagsession.addItem(k) self.request_editor_sds[k] = v self.input = widgets.QLineEdit() self.input.returnPressed.connect(self.send_manual_cmd) self.output = widgets.QLineEdit() self.output.setReadOnly(True) hexvalidaor = core.QRegExp(("^[\s0-9a-fA-F]+")) rev = gui.QRegExpValidator(hexvalidaor, self) self.input.setValidator(rev) wlayout.addWidget(diaglabel) wlayout.addWidget(self.diagsession) wlayout.addWidget(inputlabel) wlayout.addWidget(self.input) wlayout.addWidget(outputlabel) wlayout.addWidget(self.output) self.dialogbox.setLayout(wlayout) self.dialogbox.show()