Пример #1
0
 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())
Пример #2
0
    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))
        """
Пример #4
0
    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)
Пример #5
0
    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)
Пример #6
0
    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()
Пример #8
0
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
Пример #9
0
    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
Пример #11
0
    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)
Пример #12
0
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
Пример #13
0
    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)
Пример #14
0
    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)
Пример #15
0
    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)
Пример #16
0
    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__)
Пример #17
0
 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()
Пример #18
0
    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)
Пример #20
0
    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()
Пример #22
0
 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)
Пример #23
0
 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()
Пример #25
0
    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)
Пример #26
0
    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)
Пример #27
0
 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)
Пример #29
0
    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)
Пример #30
0
    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()