def __init__(self): super(trabajadores, self).__init__() self.ui = Ui_Dialog() self.ui.setupUi(self) self.Mtos = Metodos() self.data = [ le for le in self.findChildren(QLineEdit) if le.objectName() != "Le_Buscar"] self.current_id = 0 self.headerUsuarios = self.Mtos.generate_Header_labels('Usuarios') self.update_tb() self.ui.Btn_Guardar.clicked.connect(self.save) self.ui.Btn_Eliminar.clicked.connect(self.delete) self.ui.Btn_Editar.clicked.connect(self.edit) self.ui.Btn_Actualizar.setEnabled(False) self.ui.Btn_Actualizar.clicked.connect(lambda: self.save(True)) self.ui.Btn_Buscar.clicked.connect(lambda: self.update_tb(self.ui.Le_Buscar.text())) only_text = QRegExpValidator(QRegExp('^[A-Za-z]{3,20}')) self.ui.Le_Nombre.setValidator(only_text) self.ui.Le_Apellidos.setValidator(only_text) self.ui.Le_Rol.setValidator(only_text) email = QRegExpValidator(QRegExp("^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$")) self.ui.Le_Email.setValidator(email) only_numbers = QRegExpValidator(QRegExp('^[0-9]{3,10}')) self.ui.Le_Sueldo.setValidator(only_numbers) for le in self.data: le.textChanged.connect(self.check_changes) le.textChanged.emit(le.text())
def __init__(self, parent=None): super().__init__(parent) # 调用父类构造函数,创建窗体 self.ui = Ui_Dialog() # 创建UI对象 self.ui.setupUi(self) # 构造UI界面 self.setWindowTitle('人员信息录入') # 设置窗体标题 self.timer_camera = QTimer() # 定时器 self.cap = cv2.VideoCapture() # 准备获取图像 self.CAM_NUM = 0 # 摄像头序号 self.timer_camera.timeout.connect(self.show_camera) # 定时器不未O时执行 # os.getcwd() # 工作的目录路径 self.MuLu = "E:\\QMS\\" + "image_rs" # 存放路径 if not os.path.exists(self.MuLu): # 检查路径是否存在 os.mkdir("E:\\QMS\\" + "image_rs") # 创建目录 self.Text_RuZhi = DateEdit(self.ui.Text_RuZhi_RiQi) self.Text_RuZhi.resize(self.ui.Text_RuZhi_RiQi.width(), self.ui.Text_RuZhi_RiQi.height()) self.Text_HeTong = DateEdit(self.ui.Text_HeTong_RiQi) self.Text_HeTong.resize(self.ui.Text_HeTong_RiQi.width(), self.ui.Text_HeTong_RiQi.height()) self.Text_TiaoXin = DateEdit(self.ui.Text_TiaoXin_RiQi) self.Text_TiaoXin.resize(self.ui.Text_TiaoXin_RiQi.width(), self.ui.Text_TiaoXin_RiQi.height()) self.Text_LiZhi = DateEdit(self.ui.Text_LiZhi_RiQi) self.Text_LiZhi.resize(self.ui.Text_LiZhi_RiQi.width(), self.ui.Text_LiZhi_RiQi.height()) #限制输入 regx1 = ("[a-zA-Z0-9.-]+$") #限制输入数值+字母+"."+"-" # regx2 = ("[0-9.]+$") # 限制输入数值+“.” regx3 = ("[0-9]+$") # 限制输入数值 regx4 = ("[X0-9]+$") # 限制输入数值+字母"X" # self.ui.Text_GongHao.setMaxLength(128) #限制输入长度, 最大为128 self.ui.Text_GongHao.setValidator(QRegExpValidator(regx1,self.ui.Text_GongHao)) self.ui.Text_GongZuoNianFen.setValidator(QRegExpValidator(regx3,self.ui.Text_GongHao)) self.ui.Text_LianXiDianHua.setValidator(QRegExpValidator(regx3, self.ui.Text_GongHao)) self.ui.Text_JinJiLianXiHaoMa.setValidator(QRegExpValidator(regx3, self.ui.Text_GongHao)) self.ui.Text_ShenFenZhengHaoMa.setValidator(QRegExpValidator(regx4, self.ui.Text_GongHao))
def __init__(self, parent=None): QWidget.__init__(self) self.ui = Ui_Form() self.ui.setupUi(self) # Validator (line Edit 의 input 제한, setupUi 로 객체들을 만든다음에 코드로 수정) # Qt Designer 에는 수정 기능 없음 self.ui.lineEdit_int.setValidator(QIntValidator(self)) # 정수 self.ui.lineEdit_int.setValidator(QIntValidator( 100, 999, self)) # 100..999사이의 정수 self.ui.lineEdit_double.setValidator( QDoubleValidator(self)) # 실수, 1.2, -1.3, 1E-2 등 가능 self.ui.lineEdit_double.setValidator( QDoubleValidator(-0.1, 100, 2, self)) # -0.1, 100 사이의 실수, 2개의 소수자리수만 허용. validator = QDoubleValidator(self) # 0 이상 실수 validator.setBottom(0.) self.ui.lineEdit_over0.setValidator(validator) # 복잡한 패턴 제약 regExp = QRegExpValidator("[A-Za-z][1-9][0-9]{0,2}") # 첫 번째 문자는 대소문자의 알파벳이고, 두 번째는 1-9사이의 숫자가, # 이후 0-9사이의 숫자가 0개부터 2개까지 올 수 있도록 lineEdit의 입력을 제한한다는 의미이다. self.ui.lineEdit_combo.setValidator(QRegExpValidator(regExp, self)) """
def __init__(self, parent=None) -> None: super(AddContractor, self).__init__(parent) self.ui = Ui_AddContractor() self.ui.setupUi(self) self.setWindowFlags(Qt.Widget) self.ui.label_logo.setPixmap( QPixmap(ctx.resource("add_contractor.png"))) self.ui.input_zip_1.setValidator(QIntValidator(0, 99)) self.ui.input_zip_2.setValidator(QIntValidator(0, 999)) self.ui.input_zip_1.textEdited.connect(self.skip_zip_1) self.ui.input_zip_2.textEdited.connect(self.skip_zip_2) self.ui.input_nip.setValidator(QRegExpValidator(QRegExp("[0-9]*"))) self.ui.input_nip.textEdited.connect(self.validate_nip) self.ui.input_regon.setValidator(QRegExpValidator(QRegExp("[0-9]*"))) self.ui.input_regon.textEdited.connect(self.validate_regon) self.valid_pixmap = QPixmap(ctx.resource("valid.png")) self.invalid_pixmap = QPixmap(ctx.resource("invalid.png")) self.ui.button_add.clicked.connect(self.add_contractor) self.ui.button_cancel.clicked.connect(self.ask_close)
def _set_get_para(self, method="离散傅里叶逆变换"): para_group = QGroupBox("输入建模参数") para_group.setMaximumHeight(150) # 设置4个标签 --------- self.lab_dim = QLabel("分形维数:") if method == "离散傅里叶逆变换": self.lab_sq = QLabel("高度Rq:") else: self.lab_sq.setText("尺度系数:") self.lab_num = QLabel("采样点数:") self.lab_inter = QLabel("采样间隔:") # 设置4个编辑控件 -------- self.edt_dim = QLineEdit() self.edt_dim.setText("1.2") reg = QRegExp("1+(.[0-9]{1,3})?$") pValidator = QRegExpValidator(self) pValidator.setRegExp(reg) self.edt_dim.setValidator(pValidator) self.edt_sq = QLineEdit() self.edt_sq.setText("1.0") self.cbx_num = QComboBox() self.cbx_num.addItems( ["64", "128", "256", "512", "1024", "2048", "4096"]) self.cbx_num.setCurrentIndex(3) self.edt_inter = QLineEdit() self.edt_inter.setText("1") self.chx_stable = QCheckBox("平稳分形") if method == "随机中点位移法": self.chx_stable.setDisabled(True) self.chx_stable.setChecked(False) else: self.chx_stable.setDisabled(False) self.chx_stable.setChecked(True) form_layout = QFormLayout() form_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.lab_dim) form_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.edt_dim) form_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.lab_sq) form_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.edt_sq) form_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.lab_num) form_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.cbx_num) form_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.lab_inter) form_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.edt_inter) form_layout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.chx_stable) para_group.setLayout(form_layout) self.right_layout_lev1.addWidget(para_group)
def __init__(self): super(UjtagFormDialog, self).__init__() self.mezo_nevek = [] self.mezo_ertekek = [] reg_irszam = QRegExp('(10[1-9][0-9]|1[1-2][0-9]{2}|[2-9][0-9]{3})$') irszValidator = QRegExpValidator(reg_irszam) reg_email = QRegExp('[a-zA-Z0-9._%+-]+@[a-zA-Z0-9]+\\.[a-zA-Z]{2,4}') emailValidator = QRegExpValidator(reg_email) reg_datum = QRegExp( '(19[0-9]{2}\\-([0][1-9]|[1][0-2])\\-([0][1-9]|[1-2][0-9]|3[0-1]))|(20[0-9]{2}\\-([0][1-9]|[1][0-2])\\-([0][1-9]|[1-2][0-9]|3[0-1]))' ) datumValidator = QRegExpValidator(reg_datum) self.mezo_nevek.append("Vezetéknév") self.mezo_nevek.append("Utónév") self.mezo_nevek.append("Születési idő") self.mezo_nevek.append("Irányítószám") self.mezo_nevek.append("Helység") self.mezo_nevek.append("Utca, házszám") self.mezo_nevek.append("Telefon") self.mezo_nevek.append("E-mail") self.mezo_nevek.append("Tagság kezdete") self.mezo_nevek.append("Aktív") self.layout = QFormLayout() self.setLayout(self.layout) for i in range(len(self.mezo_nevek)): mezo = QLineEdit() if (self.mezo_nevek[i] == "Irányítószám"): mezo.setValidator(irszValidator) if (self.mezo_nevek[i] == "Telefon"): mezo.setInputMask("+36-99-999-9999") if (self.mezo_nevek[i] == "E-mail"): mezo.setValidator(emailValidator) if (self.mezo_nevek[i] == "Születési idő"): mezo.setValidator(datumValidator) if (self.mezo_nevek[i] == "Tagság kezdete"): mezo.setValidator(datumValidator) if (self.mezo_nevek[i] == "Aktív"): mezo.setText("1") self.mezo_ertekek.append(mezo) self.layout.addRow(f"{self.mezo_nevek[i]}", self.mezo_ertekek[i]) buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) buttonbox.accepted.connect(self.accept) buttonbox.rejected.connect(self.reject) self.layout.addWidget(buttonbox)
def updateToolWidget(self, mode=0, path=0): self.searchBtn.setVisible(True) self.startNodeEdit.setVisible(True) self.endNodeEdit.setVisible(True) rx = QRegExp(r'^[A-Z][\d+]{5}$') validator1 = QRegExpValidator(rx, self.startNodeEdit) validator2 = QRegExpValidator(rx, self.endNodeEdit) if mode == 1: self.endLabel.setVisible(False) self.endNodeEdit.setVisible(False) self.startNodeEdit.setValidator(validator1) self.startNodeEdit.setInputMask("A99") self.startNodeEdit.setMinimumWidth(40) self.startNodeEdit.setCursor(Qt.IBeamCursor) if path == 0: self.searchBtn.clicked.connect(self.do_searchBtnEasyLoop) elif path == 1: self.searchBtn.clicked.connect(self.do_searchBtnPrimaryLoop) elif path == 2: self.searchBtn.clicked.connect(self.do_searchBtnShortestPath) else: self.startNodeEdit.setValidator(validator1) self.endNodeEdit.setValidator(validator2) self.startNodeEdit.setInputMask("A99") self.endNodeEdit.setInputMask("A99") self.startNodeEdit.setMinimumWidth(40) self.endNodeEdit.setMinimumWidth(40) self.startNodeEdit.setCursor(Qt.IBeamCursor) self.endNodeEdit.setCursor(Qt.IBeamCursor) if path == 0: self.searchBtn.clicked.connect(self.do_searchBtnEasyPath) elif path == 1: self.searchBtn.clicked.connect(self.do_searchBtnPrimaryPath) self.toolWidget.setVisible(True) self.layout.addStretch() self.layout.addWidget(self.startLabel) self.layout.addWidget(self.startNodeEdit) self.layout.addStretch() self.layout.addWidget(self.endLabel) self.layout.addWidget(self.endNodeEdit) self.layout.addStretch() self.layout.addWidget(self.searchBtn) self.layout.addStretch()
class ResolutionComboBox(ComboBoxDelegate): resolution_values = [ '1080 1080', '1280 720', '1280 960', '1920 1080', '1920 1440', '2560 1920', '2880 1620', '3840 2160', '4096 2160' ] regex = QRegExp('^\d{1,4}\s{1}\d{1,4}$') regex.setCaseSensitivity(Qt.CaseInsensitive) validator = QRegExpValidator(regex) def create_editor(self, parent, option, index): editor = QComboBox(parent) editor.setEditable(True) editor.setValidator(self.validator) current_value = index.model().data(index, Qt.EditRole) current_index = 0 for idx, value in enumerate(self.resolution_values): if current_value == value: current_index = idx editor.addItem(value) editor.setCurrentIndex(current_index) if current_value not in self.resolution_values: editor.addItem(current_value) editor.setCurrentIndex(editor.count()) return editor
def __create_line_label(self, name: str, label: str, min_width: int = 200, reg_exp: str = None) -> Tuple[Dict, Dict]: """__create_line_label will create a line edit button and his label Arguments: name {str} -- Default value label {str} -- Label name min_width {int} -- Minium width (default: {200}) Returns: Tuple[Dict, Dict] -- Line Edit, Label """ line_edit = QLineEdit(name) line_edit.setMinimumWidth(min_width) if reg_exp is not None: rx = QRegExp(reg_exp) validator = QRegExpValidator(rx, self) line_edit.setValidator(validator) label = QLabel(label) label.setBuddy(line_edit) return line_edit, label
def createEditor(self, parent, option, index): editor = QLineEdit(parent) editor.setAlignment(Qt.AlignRight) # Editor only accepts integers, period, or nothing regex = QRegExp('[0-9]*(\.[0-9]+)?') editor.setValidator(QRegExpValidator(regex, self)) return editor
def __init__(self, opts): super(GetKeypoolOptionsDialog, self).__init__() self.ui = Ui_GetKeypoolOptionsDialog() self.ui.setupUi(self) self.setWindowTitle('Set getkeypool options') self.ui.start_spinbox.setValue(opts['start']) self.ui.end_spinbox.setValue(opts['end']) self.ui.internal_checkbox.setChecked(opts['internal']) self.ui.keypool_checkbox.setChecked(opts['keypool']) self.ui.account_spinbox.setValue(opts['account']) self.ui.path_lineedit.setValidator( QRegExpValidator(QRegExp("m(/[0-9]+['Hh]?)+"), None)) if opts['account_used']: self.ui.account_radio.setChecked(True) self.ui.path_radio.setChecked(False) self.ui.path_lineedit.setEnabled(False) self.ui.account_spinbox.setEnabled(True) self.ui.account_spinbox.setValue(opts['account']) else: self.ui.account_radio.setChecked(False) self.ui.path_radio.setChecked(True) self.ui.path_lineedit.setEnabled(True) self.ui.account_spinbox.setEnabled(False) self.ui.path_lineedit.setText(opts['path']) self.ui.sh_wpkh_radio.setChecked( opts['addrtype'] == AddressType.SH_WIT) self.ui.wpkh_radio.setChecked(opts['addrtype'] == AddressType.WIT) self.ui.pkh_radio.setChecked(opts['addrtype'] == AddressType.LEGACY) self.ui.account_radio.toggled.connect(self.toggle_account)
class HexSpinBox(QSpinBox): def __init__(self): super(HexSpinBox, self).__init__() self.validator = QRegExpValidator(QRegExp("[0-9A-Fa-f]{1, 8}"), self) self.setValidator(self.validator) def setRangeMinMax(self, min, max): self.setRange(min, max) # 3 possible return values, Invalid, Intermediate, Acceptable def validate(self, text, pos): res = self.validator.validate(text, pos) print(res) return res def textFromValue(self, value): print(f'textFromValue: {value} => {hex(value)[2:].upper()}') return hex(value)[2:].upper() def valueFromText(self, text): print(f'valueFromText: {value}') try: ival = int(text, 16) except: ival = 0 return ival
def __init__(self): super().__init__() self.setTitle("Entrée") self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum) main_layout = QFormLayout(self) main_layout.setHorizontalSpacing(20) main_layout.setVerticalSpacing(14) self._name_text = QLineEdit() self._name_validator = QRegExpValidator( QRegExp("^[a-zA-Z0-9_-#éèêëàîï ]{5,30}$")) self._name_text.setValidator(self._name_validator) self._name_text.inputRejected.connect(self._analysisNameError) self._name_text.textChanged.connect(self._analysisNameChanged) main_layout.addRow("Nom de l'analyse :", self._name_text) self._filepath_text = QLineEdit() self._filepath_button = QPushButton(" Parcourir... ") filepath_layout = QHBoxLayout() filepath_layout.setSpacing(8) filepath_layout.addWidget(self._filepath_text) filepath_layout.addWidget(self._filepath_button) main_layout.addRow("Dossier d'images à analyser :", filepath_layout) self.setLayout(main_layout) # Button slots self._filepath_button.clicked.connect(self.filepathBrowse)
def __init__(self, parent, mode='dir', line_edit: QLineEdit = None, tool_button: QToolButton = None, dialog_args=(), reject_invalid_path_edits=False): super(SetDirectoryPath, self).__init__(parent) self.line_edit, self.tool_button = line_edit, tool_button self.mode = mode self.path = None self.parent = parent if self.tool_button: self.dialog_args = dialog_args self.tool_button.pressed.connect(self.btn_open_dialog) if self.line_edit: self.reject_invalid_path_edits = reject_invalid_path_edits regex = QRegExp(r'[^<>?"|*´`ß]*') regex.setCaseSensitivity(Qt.CaseInsensitive) self.line_edit.setValidator(QRegExpValidator(regex)) self.line_edit.editingFinished.connect(self.path_text_changed)
def setupUi(self, Dialog): if Dialog.objectName(): Dialog.setObjectName(u"Dialog") Dialog.resize(201, 80) Dialog.setMinimumSize(201, 80) Dialog.setMaximumSize(201, 80) Dialog.setModal(True) self.buttonBox = QDialogButtonBox(Dialog) self.buttonBox.setObjectName(u"buttonBox") self.buttonBox.setGeometry(QRect(10, 40, 181, 32)) self.buttonBox.setOrientation(Qt.Horizontal) self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) self.label = QLabel(Dialog) self.label.setObjectName(u"label") self.label.setGeometry(QRect(10, 10, 61, 21)) self.plainTextEdit = FilteredPlainTextEdit(Dialog) self.plainTextEdit.setObjectName(u"plainTextEdit") self.plainTextEdit.setGeometry(QRect(80, 10, 111, 21)) self.plainTextEdit.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.plainTextEdit.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.plainTextEdit.setScrollPolicy(FilteredPlainTextEdit.NoScroll) self.plainTextEdit.setExitOnReturn(True) self.plainTextEdit.setMaxLength(16) self.plainTextEdit.setValidator( QRegExpValidator(QRegExp(r"[0-9A-Fa-fx\-]*"), self.plainTextEdit)) self.retranslateUi(Dialog) self.buttonBox.accepted.connect(Dialog.accept) self.buttonBox.rejected.connect(Dialog.reject) QMetaObject.connectSlotsByName(Dialog)
def gui_init(self): layout = QGridLayout() layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout) label = QLabel(self.__label, self) layout.addWidget(label, 0, 0, Qt.AlignCenter) self.__edit = QLineEdit(self.__text, self) self.__edit.setFixedWidth(self.input_width) if self.__ipRegex: ipValidator = QRegExpValidator(self.__ipRegex) self.__edit.setValidator(ipValidator) layout.addWidget(self.__edit, 0, 1, Qt.AlignCenter) self.__edit.textChanged.connect(self.__changed__) if self.callback: self.__edit.textEdited.connect(partial(self.callback)) if self.__runner: run_but = QPushButton(self) run_but.setText(self.parent.qapp.tr("Run")) layout.addWidget(run_but, 0, 3, Qt.AlignCenter) run_but.pressed.connect(self.__runner__)
def set_limit(limit, auto_btn, manual_btn, edit): edit.setValidator(QRegExpValidator(QRegExp("\\d{1,9}"))) if limit: manual_btn.setChecked(True) edit.setText(str(limit)) else: auto_btn.setChecked(True) auto_btn.click()
def setupEnvironmentComboBox(self): # Only allow alphabetic chars, digits, _, spaces: rx = QRegExp("[A-Za-z0-9 _]+") validator = QRegExpValidator(rx, self.widget) self.environmentsComboBox.setValidator(validator) self.environmentsComboBox.currentTextChanged.connect( self.onEnvironmentsComboBoxSelectedTextChanged)
def setUp(self) -> None: self.label = QLabel() validator = QRegExpValidator(r'(x|xxx)') help_popup = QMessageBox(QMessageBox.Information, "hi", "hi") self.vd = ValidatingDialog(validator, help_popup) self.vd.show() # print(self.vd.children()[-1].findChildren(QPushButton)[0].text()) self.vd.submitted.connect(self.label_slot)
def __init__(self, parent=None): super(ApplicationWindow, self).__init__(parent) self.settings_ui = SettingsPannel() self.progress_pannel = ProgressPannel() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.actionSettings.triggered.connect(self.settings_ui.show) self.asicsList = [] self.acknowledgedAsicID = False self.asicPowered = False self.asicFileName = "" self.path = cfg.global_workdir.get() + "/ASICs" mkdir(self.path) # create a "monitor" file in the working directory self.measuementRequested = False #self.showMaximized() #self.showFullScreen() # self.ui.power_button.clicked.connect(self.turn_on) # self.is_on = False # self.tempWorker = TemperaturesWorker() # self.tempWorker.updateTemperatures.connect(self.updateTemperatures) # self.tempWorker.start() # self.tempWorker.moveToThread(self.tempWorker) self.ui.pathWorkDir.setText(cfg.global_workdir.get()) self.arduinoStatusWorker = ArduinoStatusWorker() self.arduinoStatusWorker.updateStatus.connect( self.ui.statusbar.showMessage) self.arduinoStatusWorker.start() self.arduinoStatusWorker.moveToThread(self.arduinoStatusWorker) self.voltagesWorker = VoltagesWorker() self.voltagesWorker.updateVoltages.connect(self.updateVoltages) self.voltagesWorker.updateVoltages.connect(self.asicRecording) self.voltagesWorker.start() self.voltagesWorker.moveToThread(self.voltagesWorker) self.ui.power_button.clicked.connect(self.voltagesWorker.startAlims, Qt.QueuedConnection) self.voltagesWorker.signalUpdatePower.connect(self.updatePowerButton) self.ui.asicSN.setValidator(QRegExpValidator("[0-9]{3}")) #3 Chifre self.ui.asicSN.returnPressed.connect(lambda: print("Declenché")) #test self.ui.asicSN.returnPressed.connect( lambda: self.asicManagement(self.ui.asicSN.text())) self.ui.asicSN.textChanged.connect(lambda: self.asicManagement(False)) self.ui.Launch_Measurements.clicked.connect(self.requestMeasurement) self.ui.asicsListe.currentIndexChanged.connect( lambda: self.ui.asicSN.setText(self.ui.asicsListe.currentText())) self.ui.asicsListe.currentIndexChanged.connect( lambda: self.asicManagement(False)) self.ui.ButtonBurninStepPre.clicked.connect( lambda: self.burninStepRecorder("PreBurnIn")) self.ui.ButtonBurninStepPost.clicked.connect( lambda: self.burninStepRecorder("PostBurnIn"))
def test_help(self, qtbot): validator = QRegExpValidator(r'(x|xxx)') help_popup = QMessageBox(QMessageBox.Information, "hi", "hi") help_popup.exec_ = MagicMock() vd = ValidatingDialog(validator, help_popup) vd.show() qtbot.addWidget(vd) qtbot.mouseClick(vd.help_btn, Qt.LeftButton) help_popup.exec_.assert_called()
def __init__(self, owner): super(self.__class__, self).__init__() Ui_Register.__init__(self) self.setupUi(self) self.setWindowModality(Qt.ApplicationModal) self.owner = weakref.ref(owner) self.setWindowTitle("注册") self.loadingForm = QtLoading(self) reg = QRegExp("^[A-Z0-9a-z\\.\\_]{1,16}$") validator = QRegExpValidator(reg, self.userEdit) self.userEdit.setValidator(validator)
def setup_validators(self): color_re = QRegExp(r"#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})") color_validator = QRegExpValidator(color_re, None) self.ui.port_edit.setValidator(QIntValidator(1024, 65535, None)) # 255 splits seems like a lot self.ui.previous_edit.setValidator(QIntValidator(0, 255, None)) self.ui.advance_edit.setValidator(QIntValidator(0, 255, None)) # I don't know why you'd set a font size of 10k but sure why not self.ui.fontsize_edit.setValidator(QIntValidator(0, 10000, None)) self.ui.textcolor_edit.setValidator(color_validator) self.ui.bgcolor_edit.setValidator(color_validator)
def test_cancel(self, qtbot): validator = QRegExpValidator(r'(x|xxx)') help_popup = QMessageBox(QMessageBox.Information, "hi", "hi") vd = ValidatingDialog(validator, help_popup) vd.reject = MagicMock() vd.show() qtbot.addWidget(vd) # print('\n\n', vd.children()[-2].findChildren(QPushButton), '\n\n') qtbot.mouseClick(vd.children()[-2].findChildren(QPushButton)[0], Qt.LeftButton) vd.reject.assert_called()
def __init__(self, client): super(DisplayAddressDialog, self).__init__() self.ui = Ui_DisplayAddressDialog() self.ui.setupUi(self) self.setWindowTitle('Display Address') self.client = client self.ui.path_lineedit.setValidator(QRegExpValidator(QRegExp("m(/[0-9]+['Hh]?)+"), None)) self.ui.path_lineedit.setFocus() self.ui.go_button.clicked.connect(self.go_button_clicked) self.ui.buttonBox.clicked.connect(self.accept)
def __init__(self, client): super(SignMessageDialog, self).__init__() self.ui = Ui_SignMessageDialog() self.ui.setupUi(self) self.setWindowTitle('Sign Message') self.client = client self.ui.path_lineedit.setValidator(QRegExpValidator(QRegExp("m(/[0-9]+['Hh]?)+"), None)) self.ui.msg_textedit.setFocus() self.ui.signmsg_button.clicked.connect(self.signmsg_button_clicked) self.ui.buttonBox.clicked.connect(self.accept)
def __init__(self, mainwindow): super(self.__class__, self).__init__() self.setupUi(self) self.setStyleSheet(qss) self.thread_pool = QThreadPool() self.init_ui() self.sig = BacktrackSig() self.sig.report_sig.connect(self.report_slot) self.tableWidget.horizontalHeader().setSectionResizeMode( QHeaderView.Stretch) self.tableWidget.verticalHeader().setVisible(False) # 垂直表头不可见 self.size_map_table.verticalHeader().setVisible(False) # 垂直表头不可见 self.tableWidget.hide() # validate rx = QRegExp(r"[0-9]{1,7}\.[0-9]{1,6}") self.initial_capital.setValidator(QRegExpValidator(rx, self)) self.commission.setValidator(QRegExpValidator(rx, self)) self.close_commission.setValidator(QRegExpValidator(rx, self)) self.yesterday_commission.setValidator(QRegExpValidator(rx, self)) self.today_commission.setValidator(QRegExpValidator(rx, self)) self.slippage_sell.setValidator(QRegExpValidator(rx, self)) self.slippage_buy.setValidator(QRegExpValidator(rx, self)) self.slippage_cover.setValidator(QRegExpValidator(rx, self)) self.slippage_short.setValidator(QRegExpValidator(rx, self)) # btn self.add_sm_btn.clicked.connect(self.add_sm_slot) self.add_data_btn.clicked.connect(self.add_data_slot) self.add_backtrack_btn.clicked.connect(self.add_backtrack_slot) self.run_btn.clicked.connect(self.run_slot) # 右键菜单 self.size_map_table.setContextMenuPolicy( Qt.CustomContextMenu) ######允许右键产生子菜单 self.size_map_table.customContextMenuRequested.connect( self.sm_generate_menu) ####右键菜单 self.data_list.setContextMenuPolicy(Qt.CustomContextMenu) self.data_list.customContextMenuRequested.connect( self.data_generate_menu) self.backtrack_list.setContextMenuPolicy(Qt.CustomContextMenu) self.backtrack_list.customContextMenuRequested.connect( self.bt_generate_menu) # var self.counter = 1 self.table_index = 0 self.name = None self.sm_pool = set()
def initializePage(self) -> None: super().initializePage() layout = QGridLayout() for name, opt in AIRCRAFT_PARAMETERS.items(): regex = opt[0] label = QLabel(name) field = QLineEdit() field.setValidator(QRegExpValidator(QRegExp(regex))) label.setBuddy(field) self.registerField(name + '*', field) layout.addWidget(label) layout.addWidget(field) self.setLayout(layout)
def __init__(self, client): super(GetXpubDialog, self).__init__() self.ui = Ui_GetXpubDialog() self.ui.setupUi(self) self.setWindowTitle('Get xpub') self.client = client self.ui.path_lineedit.setValidator(QRegExpValidator(QRegExp("m(/[0-9]+['Hh]?)+"), None)) self.ui.path_lineedit.setFocus() self.ui.buttonBox.button(QDialogButtonBox.Close).setAutoDefault(False) self.ui.getxpub_button.clicked.connect(self.getxpub_button_clicked) self.ui.buttonBox.clicked.connect(self.accept)
def __init__(self, db=None, window_list=None, parent=None, **kwargs): super(AjusteEstoque, self).__init__(parent=parent, **kwargs) self.setupUi(self) self.db = db self.window_list = window_list self.setWindowFlags(Qt.Dialog) self.buttonBox_confirmar.button(QDialogButtonBox.Ok).clicked.connect( self.confirmar_ajuste) self.buttonBox_confirmar.button( QDialogButtonBox.Cancel).clicked.connect(self.cancelar) self.buttonBox_confirmar.button( QDialogButtonBox.Ok).setText("Confirmar") self.buttonBox_confirmar.button( QDialogButtonBox.Cancel).setText("Cancelar") self.pushButton_historico.clicked.connect(self.abrir_historico) validador_regex_id = QRegExpValidator(QRegExp("[0-9]{1,9}")) self.lineEdit_mercadoria_id.setValidator(validador_regex_id) self.lineEdit_mercadoria_id.editingFinished.connect( self.busca_mercadoria) self.toolButton_mercadoria.clicked.connect( lambda: self.busca_mercadoria(force=True)) self.dialog_localizar = LocalizarDialog(db=self.db, parent=self) self.lineEdit_mercadoria_id.setStyleSheet("\nborder: 0.5px solid red") find_icon = QIcon(os.path.join('Resources', 'icons', 'search.png')) self.toolButton_mercadoria.setIcon(find_icon) clock_icon = QIcon(os.path.join('Resources', 'icons', 'clock.png')) self.pushButton_historico.setIcon(clock_icon) self.spinBox_quantidade.setRange(1, 999) help=\ '''Aqui é possível realizar lançamentos de entrada/saída, de forma manual, para operações que ocorrem sem um pedido. ENTRADA: Serão adicionados itens sem vínculo com pedido de entrada. SAÍDA: Apenas itens fechados podem ser retirados do estoque.''' self.adiciona_help(texto=help) self.show()