def typeListChanged(self): for i in reversed(range(self.settingsWidgetLayout.count())): self.settingsWidgetLayout.itemAt(i).widget().deleteLater() height = QLineEdit().sizeHint().height() doubleValidator = QRegExpValidator( QRegExp("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?"), self) if self.typeList.currentText() == "PushButton": self.valueText = QLineEdit(self.valueOn) self.settingsWidgetLayout.addRow(QLabel("Value"), self.valueText) self.valueText.setValidator(doubleValidator) self.valueText.mousePressEvent = lambda event: self.valueText.selectAll( ) self.shortcutField = ShortcutCreator() self.shortcutField.setText(self.shortcut) self.settingsWidgetLayout.addRow(QLabel("Shortcut:"), self.shortcutField) self.valueResetText = QLineEdit(self.valueReset) self.settingsWidgetLayout.addRow(QLabel("Reset Value"), self.valueResetText) dummy = QLabel("") dummy.setFixedHeight(height) self.settingsWidgetLayout.addRow(None, dummy) dummy2 = QLabel("") dummy2.setFixedHeight(height) self.settingsWidgetLayout.addRow(None, dummy2) elif self.typeList.currentText() == "Switch": self.valueOnText = QLineEdit(self.valueOn) self.settingsWidgetLayout.addRow(QLabel("Value On"), self.valueOnText) self.valueOnText.setValidator(doubleValidator) self.valueOnText.mousePressEvent = lambda event: self.valueOnText.selectAll( ) self.valueOffText = QLineEdit(self.valueOff) self.settingsWidgetLayout.addRow(QLabel("Value Off"), self.valueOffText) self.valueOffText.mousePressEvent = lambda event: self.valueOffText.selectAll( ) self.valueOffText.setValidator(doubleValidator) self.shortcutField = ShortcutCreator() self.shortcutField.setText(self.shortcut) self.settingsWidgetLayout.addRow(QLabel("Shortcut:"), self.shortcutField) dummy = QLabel("") dummy.setFixedHeight(height) self.settingsWidgetLayout.addRow(None, dummy) dummy2 = QLabel("") dummy2.setFixedHeight(height) self.settingsWidgetLayout.addRow(None, dummy2) elif self.typeList.currentText() == "Slider": self.maxSliderText = QLineEdit(str(self.maxSlider)) self.settingsWidgetLayout.addRow(QLabel("Max"), self.maxSliderText) self.maxSliderText.setValidator(doubleValidator) self.maxSliderText.mousePressEvent = lambda event: self.maxSliderText.selectAll( ) self.minSliderText = QLineEdit(str(self.minSlider)) self.settingsWidgetLayout.addRow(QLabel("Min"), self.minSliderText) self.minSliderText.setValidator(doubleValidator) self.minSliderText.mousePressEvent = lambda event: self.minSliderText.selectAll( ) self.stepSliderText = QLineEdit(str(self.stepSlider)) self.settingsWidgetLayout.addRow(QLabel("Step Size"), self.stepSliderText) self.stepSliderText.setValidator(doubleValidator) self.stepSliderText.mousePressEvent = lambda event: self.stepSliderText.selectAll( ) self.shortcutFieldPlus = ShortcutCreator() self.shortcutFieldPlus.setText(self.shortcutPlus) self.settingsWidgetLayout.addRow(QLabel("Shortcut Plus:"), self.shortcutFieldPlus) self.shortcutFieldMinus = ShortcutCreator() self.shortcutFieldMinus.setText(self.shortcutMinus) self.settingsWidgetLayout.addRow(QLabel("Shortcut Minus:"), self.shortcutFieldMinus)
def __init__(self, parent=None): super(SQLHighlighter, self).__init__(parent) # liste des règles: [[regex, format], [regex, format], ...] self.regles = [] #-------------------------------------------------------------------- # coloration des mots clés SQL de sqlite3 motcles_format = QTextCharFormat() motcles_format.setForeground(Qt.blue) # mots clés en bleu motcles_format.setFontWeight(QFont.Bold) # pour mise en gras # liste des mots à considérer motcles_motifs = [ "ABORT", "ACTION", "ADD", "AFTER", "ALL", "ALTER", "ANALYZE", "AND", "AS", "ASC", "ATTACH", "AUTOINCREMENT", "BEFORE", "BEGIN", "BETWEEN", "BY", "CASCADE", "CASE", "CAST", "CHECK", "COLLATE", "COLUMN", "COMMIT", "CONFLICT", "CONSTRAINT", "CREATE", "CROSS", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "DATABASE", "DEFAULT", "DEFERRABLE", "DEFERRED", "DELETE", "DESC", "DETACH", "DISTINCT", "DROP", "EACH", "ELSE", "END", "ESCAPE", "EXCEPT", "EXCLUSIVE", "EXISTS", "EXPLAIN", "FAIL", "FOR", "FOREIGN", "FROM", "FULL", "GLOB", "GROUP", "HAVING", "IF", "IGNORE", "IMMEDIATE", "IN", "INDEX", "INDEXED", "INITIALLY", "INNER", "INSERT", "INSTEAD", "INTERSECT", "INTO", "IS", "ISNULL", "JOIN", "KEY", "LEFT", "LIKE", "LIMIT", "MATCH", "NATURAL", "NO", "NOT", "NOTNULL", "NULL", "OF", "OFFSET", "ON", "OR", "ORDER", "OUTER", "PLAN", "PRAGMA", "PRIMARY", "QUERY", "RAISE", "RECURSIVE", "REFERENCES", "REGEXP", "REINDEX", "RELEASE", "RENAME", "REPLACE", "RESTRICT", "RIGHT", "ROLLBACK", "ROW", "SAVEPOINT", "SELECT", "SET", "TABLE", "TEMP", "TEMPORARY", "THEN", "TO", "TRANSACTION", "TRIGGER", "UNION", "UNIQUE", "UPDATE", "USING", "VACUUM", "VALUES", "VIEW", "VIRTUAL", "WHEN", "WHERE", "WITH", "WITHOUT" ] motcles_motifs += [ "TEXT", "INTEGER", "REAL", "NUMERIC", "NONE", "BLOB" ] motcles_motifs += ["TRUE", "FALSE"] # enregistrement dans la liste des règles for motcles_motif in motcles_motifs: motcles_regex = QRegExp("\\b" + motcles_motif + "\\b", Qt.CaseInsensitive) self.regles.append([motcles_regex, motcles_format]) #-------------------------------------------------------------------- # nombre entier ou flottant nombre_format = QTextCharFormat() nombre_format.setForeground(Qt.darkGreen) nombre_motif = "\\b[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?\\b" nombre_regex = QRegExp(nombre_motif) nombre_regex.setMinimal(True) self.regles.append([nombre_regex, nombre_format]) #-------------------------------------------------------------------- # chaine de caractères simple quote: '...' chaine1_format = QTextCharFormat() chaine1_format.setForeground(Qt.green) #red) chaine1_motif = "\'.*\'" chaine1_regex = QRegExp(chaine1_motif) chaine1_regex.setMinimal(True) self.regles.append([chaine1_regex, chaine1_format]) #-------------------------------------------------------------------- # chaine de caractères double quotes: "..." chaine2_format = QTextCharFormat() chaine2_format.setForeground(Qt.red) chaine2_motif = '\".*\"' chaine2_regex = QRegExp(chaine2_motif) chaine2_regex.setMinimal(True) self.regles.append([chaine2_regex, chaine2_format]) #-------------------------------------------------------------------- # delimiteur: parenthèses, crochets, accolades delimiteur_format = QTextCharFormat() delimiteur_format.setForeground(Qt.red) delimiteur_motif = "[\)\(]+|[\{\}]+|[][]+" delimiteur_regex = QRegExp(delimiteur_motif) self.regles.append([delimiteur_regex, delimiteur_format]) #-------------------------------------------------------------------- # commentaire sur une seule ligne et jusqu'à fin de ligne: --...\n comment_format = QTextCharFormat() comment_format.setForeground(Qt.gray) comment_motif = "--[^\n]*" comment_regex = QRegExp(comment_motif) self.regles.append([comment_regex, comment_format]) #-------------------------------------------------------------------- # commentaires multi-lignes: /*...*/ self.commentml_format = QTextCharFormat() self.commentml_format.setForeground(Qt.gray) self.commentml_deb_regex = QRegExp("/\\*") self.commentml_fin_regex = QRegExp("\\*/")
def __init__(self, parent=None): super(Widget, self).__init__(parent) self.setFont(QFont('Arial', 10)) self.setWindowTitle("Bestelregels inkooporders wijzigen") self.setWindowIcon(QIcon('./images/logos/logo.jpg')) self.setFont(QFont('Arial', 10)) self.Inkoopordernummer = QLabel() q1Edit = QLineEdit(str(minkordnr)) q1Edit.setDisabled(True) q1Edit.setFixedWidth(130) q1Edit.setFont(QFont("Arial", 10)) q1Edit.textChanged.connect(self.q1Changed) self.BestelregelArtikel = QLabel() q2Edit = QLineEdit(str(row[2])) q2Edit.setDisabled(True) q2Edit.setFixedWidth(130) q2Edit.setFont(QFont("Arial", 10)) q2Edit.textChanged.connect(self.q2Changed) self.BestelHoeveelheid = QLabel() q3Edit = QLineEdit(str(row[3])) q3Edit.setFixedWidth(130) q3Edit.setFont(QFont("Arial", 10)) q3Edit.textChanged.connect(self.q3Changed) reg_ex = QRegExp("^[0-9.]{0,12}$") input_validator = QRegExpValidator(reg_ex, q3Edit) q3Edit.setValidator(input_validator) self.Inkoopeenheidsprijs = QLabel() q4Edit = QLineEdit(str(row[4])) q4Edit.setFixedWidth(130) q4Edit.setFont(QFont("Arial", 10)) q4Edit.textChanged.connect(self.q4Changed) reg_ex = QRegExp("^[0-9.]{0,12}$") input_validator = QRegExpValidator(reg_ex, q4Edit) q4Edit.setValidator(input_validator) self.Levering_start = QLabel() q5Edit = QLineEdit(str(row[5])) q5Edit.setCursorPosition(0) q5Edit.setFixedWidth(130) q5Edit.setFont(QFont("Arial", 10)) q5Edit.textChanged.connect(self.q5Changed) reg_ex = QRegExp( '^[2]{1}[0]{1}[0-9]{2}[-]{1}[0-1]{1}[0-9]{1}[-]{1}[0-3]{1}[0-9]{1}$' ) input_validator = QRegExpValidator(reg_ex, q5Edit) q5Edit.setValidator(input_validator) self.Levering_eind = QLabel() q13Edit = QLineEdit(str(row[6])) q13Edit.setCursorPosition(0) q13Edit.setFixedWidth(130) q13Edit.setFont(QFont("Arial", 10)) q13Edit.textChanged.connect(self.q13Changed) reg_ex = QRegExp( '^[2]{1}[0]{1}[0-9]{2}[-]{1}[0-1]{1}[0-9]{1}[-]{1}[0-3]{1}[0-9]{1}$' ) input_validator = QRegExpValidator(reg_ex, q13Edit) q13Edit.setValidator(input_validator) self.Reclamatie = QLabel() q6Edit = QLineEdit(str(row[7])) q6Edit.setCursorPosition(0) q6Edit.setFixedWidth(130) q6Edit.setFont(QFont("Arial", 10)) q6Edit.textChanged.connect(self.q6Changed) reg_ex = QRegExp( '^[2]{1}[0]{1}[0-9]{2}[-]{1}[0-1]{1}[0-9]{1}[-]{1}[0-3]{1}[0-9]{1}$' ) input_validator = QRegExpValidator(reg_ex, q6Edit) q6Edit.setValidator(input_validator) self.Aantal_reclamaties = QLabel() q7Edit = QLineEdit(str(row[8])) q7Edit.setFixedWidth(130) q7Edit.setFont(QFont("Arial", 10)) q7Edit.textChanged.connect(self.q7Changed) reg_ex = QRegExp("^[0-9]{0,10}$") input_validator = QRegExpValidator(reg_ex, q7Edit) q7Edit.setValidator(input_validator) self.Ontvangstdatum = QLabel() q8Edit = QLineEdit(str(row[9])) q5Edit.setCursorPosition(0) q8Edit.setFixedWidth(130) q8Edit.setFont(QFont("Arial", 10)) q8Edit.textChanged.connect(self.q8Changed) reg_ex = QRegExp( '^[2]{1}[0]{1}[0-9]{2}[-]{1}[0-1]{1}[0-9]{1}[-]{1}[0-3]{1}[0-9]{1}$' ) input_validator = QRegExpValidator(reg_ex, q8Edit) q8Edit.setValidator(input_validator) self.Ontvangen_Hoeveelheid = QLabel() q9Edit = QLineEdit(str(row[10])) q9Edit.setFixedWidth(130) q9Edit.setFont(QFont("Arial", 10)) q9Edit.textChanged.connect(self.q9Changed) reg_ex = QRegExp("^[0-9.]{0,12}$") input_validator = QRegExpValidator(reg_ex, q9Edit) q9Edit.setValidator(input_validator) self.Acceptatiedatum = QLabel() q10Edit = QLineEdit(str(row[11])) q10Edit.setCursorPosition(0) q10Edit.setFixedWidth(130) q10Edit.setFont(QFont("Arial", 10)) q10Edit.textChanged.connect(self.q10Changed) reg_ex = QRegExp( '^[2]{1}[0]{1}[0-9]{2}[-]{1}[0-1]{1}[0-9]{1}[-]{1}[0-3]{1}[0-9]{1}$' ) input_validator = QRegExpValidator(reg_ex, q10Edit) q10Edit.setValidator(input_validator) self.Hoeveelheid_acceptatie = QLabel() q11Edit = QLineEdit(str(row[12])) q11Edit.setFixedWidth(130) q11Edit.setFont(QFont("Arial", 10)) q11Edit.textChanged.connect(self.q11Changed) reg_ex = QRegExp("^[0-9.]{0,12}$") input_validator = QRegExpValidator(reg_ex, q11Edit) q11Edit.setValidator(input_validator) self.Betaald = QLabel() q12Edit = QLineEdit(str(row[13])) q12Edit.setFixedWidth(130) q12Edit.setFont(QFont("Arial", 10)) q12Edit.textChanged.connect(self.q12Changed) reg_ex = QRegExp("^[0-9.]{0,12}$") input_validator = QRegExpValidator(reg_ex, q12Edit) q12Edit.setValidator(input_validator) grid = QGridLayout() grid.setSpacing(20) lbl = QLabel() pixmap = QPixmap('./images/logos/verbinding.jpg') lbl.setPixmap(pixmap) grid.addWidget(lbl, 1, 0, 1, 2) logo = QLabel() pixmap = QPixmap('./images/logos/logo.jpg') logo.setPixmap(pixmap) grid.addWidget(logo, 1, 3, 1, 1, Qt.AlignRight) grid.addWidget( QLabel( '\u00A9 2017 all rights reserved [email protected]'), 15, 0, 1, 4, Qt.AlignCenter) self.setFont(QFont('Arial', 10)) grid.addWidget(QLabel('Bestelling voor\nLeverancier: '+str(rp2[0])+\ ',\n'+rp2[1]+' '+rp2[2]+',\n'+mstraat+' '+str(rp2[4])+\ rp2[5]+',\n'+rp2[3]+' '+mplaats+'.\nOrderregel '+str(mregel)), 1, 1, 1, 3) lbl1 = QLabel('Ordernummer') lbl1.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl1, 5, 0) grid.addWidget(q1Edit, 5, 1) lbl2 = QLabel('Bestelregel Artikel') lbl2.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl2, 6, 0) grid.addWidget(q2Edit, 6, 1) lbl3 = QLabel('Bestelhoeveelheid') lbl3.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl3, 7, 0) grid.addWidget(q3Edit, 7, 1) lbl4 = QLabel('Inkoopeenheidsprijs') lbl4.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl4, 8, 0) grid.addWidget(q4Edit, 8, 1) lbl5 = QLabel('Levering start') lbl5.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl5, 9, 0) grid.addWidget(q5Edit, 9, 1) lbl13 = QLabel('Levering eind') lbl13.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl13, 9, 2) grid.addWidget(q13Edit, 9, 3) lbl6 = QLabel('Reclamatiedatum jjjj-mm-dd') lbl6.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl6, 10, 0) grid.addWidget(q6Edit, 10, 1) lbl7 = QLabel('Aantal_reclamaties') lbl7.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl7, 10, 2) grid.addWidget(q7Edit, 10, 3) lbl8 = QLabel('Ontvangstdatum jjjj-mm-d') lbl8.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl8, 11, 0) grid.addWidget(q8Edit, 11, 1) lbl9 = QLabel('Totaal ontvangen') lbl9.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl9, 11, 2) grid.addWidget(q9Edit, 11, 3) lbl10 = QLabel('Acceptatiedatum jjjj-mm-dd') lbl10.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl10, 12, 0) grid.addWidget(q10Edit, 12, 1) lbl11 = QLabel('Totaal geaccepteerd') lbl11.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl11, 12, 2) grid.addWidget(q11Edit, 12, 3) lbl12 = QLabel('Hoeveelheid betaald') lbl12.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl12, 13, 0) grid.addWidget(q12Edit, 13, 1) self.setLayout(grid) self.setGeometry(500, 150, 150, 150) applyBtn = QPushButton('Wijzigen') applyBtn.clicked.connect(self.accept) grid.addWidget(applyBtn, 14, 3, 1, 1, Qt.AlignRight) applyBtn.setFont(QFont("Arial", 10)) applyBtn.setFixedWidth(100) applyBtn.setStyleSheet( "color: black; background-color: gainsboro") cancelBtn = QPushButton('Sluiten') cancelBtn.clicked.connect(lambda: closeWin(self, m_email)) grid.addWidget(cancelBtn, 14, 2, 1, 1, Qt.AlignRight) cancelBtn.setFont(QFont("Arial", 10)) cancelBtn.setFixedWidth(100) cancelBtn.setStyleSheet( "color: black; background-color: gainsboro")
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() try: self.restoreGeometry( constants.SETTINGS.value("{}/geometry".format( self.__class__.__name__))) except TypeError: pass
def __init__(self, parent=None): super(Widget, self).__init__(parent) self.setWindowTitle("Invoer werkorders") self.setWindowIcon(QIcon('./images/logos/logo.jpg')) self.setFont(QFont('Arial', 10)) self.Omschrijving = QLabel() q1Edit = QLineEdit() q1Edit.setFont(QFont("Arial", 10)) q1Edit.textChanged.connect(self.q1Changed) reg_ex = QRegExp("^.{0,49}$") input_validator = QRegExpValidator(reg_ex, q1Edit) q1Edit.setValidator(input_validator) self.StartWerk = QLabel() q2Edit = QLineEdit() q2Edit.setFixedWidth(110) q2Edit.setFont(QFont("Arial", 10)) q2Edit.textChanged.connect(self.q2Changed) reg_ex = QRegExp( '^[2]{1}[0]{1}[0-9]{2}[-]{1}[0-1]{1}[0-9]{1}[-]{1}[0-3]{1}[0-9]{1}$' ) input_validator = QRegExpValidator(reg_ex, q2Edit) q2Edit.setValidator(input_validator) self.Artikelnummer = QLabel() q3Edit = QLineEdit() q3Edit.setFixedWidth(110) q3Edit.setFont(QFont("Arial", 10)) q3Edit.textChanged.connect(self.q3Changed) reg_ex = QRegExp("^[2]{1}[0-9]{8}$") input_validator = QRegExpValidator(reg_ex, q3Edit) q3Edit.setValidator(input_validator) self.Hoeveelheid = QLabel() q4Edit = QLineEdit() q4Edit.setFixedWidth(110) q4Edit.setFont(QFont("Arial", 10)) q4Edit.textChanged.connect(self.q4Changed) reg_ex = QRegExp("^[0-9.]{0,20}$") input_validator = QRegExpValidator(reg_ex, q4Edit) q4Edit.setValidator(input_validator) grid = QGridLayout() grid.setSpacing(20) lbl1 = QLabel('Werkorder') lbl1.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl1, 1, 0) lbl2 = QLabel(str(bepaalWerknr())) grid.addWidget(lbl2, 1, 1) lbl3 = QLabel('Omschrijving') lbl3.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl3, 2, 0) grid.addWidget(q1Edit, 2, 1, 1, 3) lbl4 = QLabel('Start werk') lbl4.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl4, 3, 0) grid.addWidget(q2Edit, 3, 1) lbl5 = QLabel('Artikelnummer\n Halffabrikaat ') lbl5.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl5, 4, 0) grid.addWidget(q3Edit, 4, 1) lbl6 = QLabel('Hoeveelheid') lbl6.setAlignment(Qt.AlignRight | Qt.AlignVCenter) grid.addWidget(lbl6, 5, 0) grid.addWidget(q4Edit, 5, 1) lbl = QLabel() pixmap = QPixmap('./images/logos/verbinding.jpg') lbl.setPixmap(pixmap) grid.addWidget(lbl, 0, 0, 1, 2) logo = QLabel() pixmap = QPixmap('./images/logos/logo.jpg') logo.setPixmap(pixmap) grid.addWidget(logo, 0, 2, 1, 1, Qt.AlignRight) grid.addWidget( QLabel('\u00A9 2017 all rights reserved [email protected]'), 7, 0, 1, 3, Qt.AlignCenter) self.setLayout(grid) self.setGeometry(500, 300, 150, 150) applyBtn = QPushButton('Invoer') applyBtn.clicked.connect(self.accept) grid.addWidget(applyBtn, 6, 2, 1, 1, Qt.AlignRight) applyBtn.setFont(QFont("Arial", 10)) applyBtn.setFixedWidth(100) applyBtn.setStyleSheet( "color: black; background-color: gainsboro") cancelBtn = QPushButton('Sluiten') cancelBtn.clicked.connect(lambda: windowSluit(self, m_email)) grid.addWidget(cancelBtn, 6, 1, 1, 1, Qt.AlignRight) cancelBtn.setFont(QFont("Arial", 10)) cancelBtn.setFixedWidth(100) cancelBtn.setStyleSheet( "color: black; background-color: gainsboro")
def __init__(self, parent=None): super(Widget, self).__init__(parent) self.setWindowTitle("Inkooporder Wijzigen.") self.setWindowIcon(QIcon('./images/logos/logo.jpg')) self.setFont(QFont('Arial', 10)) self.Inkoopordernummer = QLabel() inkordEdit = QLineEdit(str(minkordnr)) inkordEdit.setFixedWidth(110) inkordEdit.setDisabled(True) inkordEdit.setFont(QFont("Arial", 10)) inkordEdit.textChanged.connect(self.inkordChanged) self.Besteldatum = QLabel() q3Edit = QLineEdit() datum = str(datetime.datetime.now()) q3Edit.setText((datum[8:10] + '-' + datum[5:8] + datum[0:4])) q3Edit.setDisabled(True) q3Edit.setFixedWidth(110) q3Edit.setFont(QFont("Arial", 10)) self.Goedgekeurd = QLabel() q4Edit = QLineEdit(rp1[3]) q4Edit.setCursorPosition(0) q4Edit.setFixedWidth(110) q4Edit.setFont(QFont("Arial", 10)) q4Edit.textChanged.connect(self.q4Changed) reg_ex = QRegExp( '^[2]{1}[0]{1}[0-9]{2}[-]{1}[0-1]{1}[0-9]{1}[-]{1}[0-3]{1}[0-9]{1}$' ) input_validator = QRegExpValidator(reg_ex, q4Edit) q4Edit.setValidator(input_validator) self.Betaald = QLabel() q5Edit = QLineEdit(rp1[4]) q5Edit.setCursorPosition(0) q5Edit.setFixedWidth(110) q5Edit.setFont(QFont("Arial", 10)) q5Edit.textChanged.connect(self.q5Changed) reg_ex = QRegExp( '^[2]{1}[0]{1}[0-9]{2}[-]{1}[0-1]{1}[0-9]{1}[-]{1}[0-3]{1}[0-9]{1}$' ) input_validator = QRegExpValidator(reg_ex, q5Edit) q5Edit.setValidator(input_validator) self.Afgemeld = QLabel() q6Edit = QLineEdit(rp1[5]) q6Edit.setCursorPosition(0) q6Edit.setFixedWidth(110) q6Edit.setFont(QFont("Arial", 10)) q6Edit.textChanged.connect(self.q6Changed) reg_ex = QRegExp( '^[2]{1}[0]{1}[0-9]{2}[-]{1}[0-1]{1}[0-9]{1}[-]{1}[0-3]{1}[0-9]{1}$' ) input_validator = QRegExpValidator(reg_ex, q6Edit) q6Edit.setValidator(input_validator) grid = QGridLayout() grid.setSpacing(20) lbl = QLabel() pixmap = QPixmap('./images/logos/verbinding.jpg') lbl.setPixmap(pixmap) grid.addWidget(lbl, 1, 0) self.setFont(QFont('Arial', 10)) grid.addWidget(QLabel('Bestelling voor\nLeverancier: '+str(rp2[0])+\ ',\n'+rp2[1]+' '+rp2[2]+',\n'+mstraat+' '+str(rp2[4])+\ rp2[5]+',\n'+rp2[3]+' '+mplaats+'.'), 1, 1, 1 , 2) logo = QLabel() pixmap = QPixmap('./images/logos/logo.jpg') logo.setPixmap(pixmap) grid.addWidget(logo, 5, 2, 1, 1, Qt.AlignCenter) grid.addWidget(QLabel('Inkoopordernummer'), 4, 0, 1, 1, Qt.AlignRight) grid.addWidget(inkordEdit, 4, 1) grid.addWidget(QLabel('Besteldatum'), 5, 0, 1, 1, Qt.AlignRight) grid.addWidget(q3Edit, 5, 1) grid.addWidget(QLabel('Goedgekeurd jjjj-mm-dd'), 6, 0, 1, 1, Qt.AlignRight) grid.addWidget(q4Edit, 6, 1) grid.addWidget(QLabel('Betaald jjjj-mm-dd'), 7, 0, 1, 1, Qt.AlignRight) grid.addWidget(q5Edit, 7, 1) grid.addWidget(QLabel('Afgemeld jjjj-mm-dd'), 8, 0, 1, 1, Qt.AlignRight) grid.addWidget(q6Edit, 8, 1) grid.addWidget( QLabel('\u00A9 2017 all rights reserved [email protected]'), 9, 0, 1, 3, Qt.AlignCenter) applyBtn = QPushButton('Bestelregels') applyBtn.clicked.connect(self.accept) cancelBtn = QPushButton('Sluiten') cancelBtn.clicked.connect(lambda: wijzSluit(self, m_email)) grid.addWidget(applyBtn, 8, 2, 1, 1, Qt.AlignRight) applyBtn.setFont(QFont("Arial", 10)) applyBtn.setFixedWidth(120) applyBtn.setStyleSheet( "color: black; background-color: gainsboro") grid.addWidget(cancelBtn, 7, 2, 1, 1, Qt.AlignRight) cancelBtn.setFont(QFont("Arial", 10)) cancelBtn.setFixedWidth(120) cancelBtn.setStyleSheet( "color: black; background-color: gainsboro") self.setLayout(grid) self.setGeometry(500, 200, 350, 300)
def initUI(self): # 控件+布局 infoLabel = QLabel(self) infoLabel.setAlignment(Qt.AlignCenter) infoLabel.setFont(QFont("微软雅黑", 20)) infoLabel.setText(self.tr("请输入注册信息")) infoLabel.resize(infoLabel.sizeHint()) infoLabel.move(self.width() / 2 - infoLabel.width() / 2, 10) nameLabel = QLabel(self) nameLabel.setFont(QFont("微软雅黑", 18, 10)) nameLabel.setText(self.tr("用户名")) nameLabel.setGeometry(QRect(100, 70, 91, 41)) passwordLabel1 = QLabel(self) passwordLabel1.setFont(QFont("微软雅黑", 18, 10)) passwordLabel1.setText(self.tr("密码")) passwordLabel1.setGeometry(QRect(120, 120, 91, 51)) passwordLabel2 = QLabel(self) passwordLabel2.setFont(QFont("微软雅黑", 18, 10)) passwordLabel2.setText(self.tr("再次输入密码")) passwordLabel2.setGeometry(QRect(25, 180, 161, 51)) mailLabel = QLabel(self) mailLabel.setFont(QFont("微软雅黑", 18, 10)) mailLabel.setText(self.tr("邮箱")) mailLabel.setGeometry(QRect(120, 240, 91, 51)) self.nameLineEdit = QLineEdit(self) self.nameLineEdit.setValidator(QRegExpValidator(QRegExp("^[-_0-9a-zA-Z]{3,15}$"), self.nameLineEdit)) # 只能够输入普通字符 self.nameLineEdit.setGeometry(QRect(200, 70, 261, 41)) self.nameLineEdit.setFont(QFont("微软雅黑", 18, 50)) self.nameLineEdit.setStyleSheet( "border:2px groove gray;border-radius:10px;padding:2px 4px") self.passwordLineEdit1 = QLineEdit(self) self.passwordLineEdit1.setEchoMode(QLineEdit.Password) self.passwordLineEdit1.setValidator(QRegExpValidator(QRegExp("^[_0-9a-zA-Z]{3,15}$"), self.passwordLineEdit1)) self.passwordLineEdit1.setGeometry(QRect(200, 130, 261, 41)) self.passwordLineEdit1.setFont(QFont("微软雅黑", 18, 50)) self.passwordLineEdit1.setStyleSheet( "border:2px groove gray;border-radius:10px;padding:2px 4px") self.passwordLineEdit2 = QLineEdit(self) self.passwordLineEdit2.setEchoMode(QLineEdit.Password) self.passwordLineEdit2.setValidator(QRegExpValidator(QRegExp("^[_0-9a-zA-Z]{3,15}$"), self.passwordLineEdit2)) self.passwordLineEdit2.setGeometry(QRect(200, 190, 261, 41)) self.passwordLineEdit2.setFont(QFont("微软雅黑", 18, 50)) self.passwordLineEdit2.setStyleSheet( "border:2px groove gray;border-radius:10px;padding:2px 4px") self.mailLineEdit = QLineEdit(self) self.mailLineEdit.setValidator(QRegExpValidator(QRegExp("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"), self.mailLineEdit)) self.mailLineEdit.setGeometry(QRect(200, 250, 261, 41)) self.mailLineEdit.setFont(QFont("微软雅黑", 18, 50)) self.mailLineEdit.setStyleSheet( "border:2px groove gray;border-radius:10px;padding:2px 4px") registerButton = QPushButton(self) registerButton.setDefault(True) registerButton.setText(self.tr("注册")) registerButton.setGeometry(QRect(200, 320, 121, 41)) registerButton.setFont(QFont("微软雅黑", 18, 50)) registerButton.clicked.connect(self.registerButtonClicked) registerButton.setStyleSheet( "border:2px groove gray;border-radius:10px;padding:2px 4px")
def request_safe_t_init_settings(self, wizard, method, device): vbox = QVBoxLayout() next_enabled = True label = QLabel(_("Enter a label to name your device:")) name = QLineEdit() hl = QHBoxLayout() hl.addWidget(label) hl.addWidget(name) hl.addStretch(1) vbox.addLayout(hl) def clean_text(widget): text = widget.toPlainText().strip() return ' '.join(text.split()) if method in [TIM_NEW, TIM_RECOVER]: gb = QGroupBox() hbox1 = QHBoxLayout() gb.setLayout(hbox1) vbox.addWidget(gb) gb.setTitle(_("Select your seed length:")) bg = QButtonGroup() for i, count in enumerate([12, 18, 24]): rb = QRadioButton(gb) rb.setText(_("{:d} words").format(count)) bg.addButton(rb) bg.setId(rb, i) hbox1.addWidget(rb) rb.setChecked(True) cb_pin = QCheckBox(_('Enable PIN protection')) cb_pin.setChecked(True) else: text = QTextEdit() text.setMaximumHeight(60) if method == TIM_MNEMONIC: msg = _("Enter your BIP39 mnemonic:") else: msg = _("Enter the master private key beginning with xprv:") def set_enabled(): from electrum_mona.bip32 import is_xprv wizard.next_button.setEnabled(is_xprv(clean_text(text))) text.textChanged.connect(set_enabled) next_enabled = False vbox.addWidget(QLabel(msg)) vbox.addWidget(text) pin = QLineEdit() pin.setValidator(QRegExpValidator(QRegExp('[1-9]{0,9}'))) pin.setMaximumWidth(100) hbox_pin = QHBoxLayout() hbox_pin.addWidget(QLabel(_("Enter your PIN (digits 1-9):"))) hbox_pin.addWidget(pin) hbox_pin.addStretch(1) if method in [TIM_NEW, TIM_RECOVER]: vbox.addWidget(WWLabel(RECOMMEND_PIN)) vbox.addWidget(cb_pin) else: vbox.addLayout(hbox_pin) passphrase_msg = WWLabel(PASSPHRASE_HELP_SHORT) passphrase_warning = WWLabel(PASSPHRASE_NOT_PIN) passphrase_warning.setStyleSheet("color: red") cb_phrase = QCheckBox(_('Enable passphrases')) cb_phrase.setChecked(False) vbox.addWidget(passphrase_msg) vbox.addWidget(passphrase_warning) vbox.addWidget(cb_phrase) wizard.exec_layout(vbox, next_enabled=next_enabled) if method in [TIM_NEW, TIM_RECOVER]: item = bg.checkedId() pin = cb_pin.isChecked() else: item = ' '.join(str(clean_text(text)).split()) pin = str(pin.text()) return (item, name.text(), pin, cb_phrase.isChecked())
def on_executeButton_clicked(self, startpos=0): """ Private slot to execute the entered regexp on the test text. This slot will execute the entered regexp on the entered test data and will display the result in the table part of the dialog. @param startpos starting position for the regexp matching """ regex = self.regexpLineEdit.text() text = self.textTextEdit.toPlainText() if regex and text: re = QRegExp(regex) if self.caseSensitiveCheckBox.isChecked(): re.setCaseSensitivity(Qt.CaseSensitive) else: re.setCaseSensitivity(Qt.CaseInsensitive) re.setMinimal(self.minimalCheckBox.isChecked()) syntax = self.syntaxCombo.itemData(self.syntaxCombo.currentIndex()) wildcard = syntax in [QRegExp.Wildcard, QRegExp.WildcardUnix] re.setPatternSyntax(syntax) if not re.isValid(): E5MessageBox.critical( self, self.tr("Error"), self.tr("""Invalid regular expression: {0}""").format( re.errorString())) return offset = re.indexIn(text, startpos) captures = re.captureCount() row = 0 OFFSET = 5 self.resultTable.setColumnCount(0) self.resultTable.setColumnCount(3) self.resultTable.setRowCount(0) self.resultTable.setRowCount(OFFSET) self.resultTable.setItem(row, 0, QTableWidgetItem(self.tr("Regexp"))) self.resultTable.setItem(row, 1, QTableWidgetItem(regex)) if offset != -1: self.lastMatchEnd = offset + re.matchedLength() self.nextButton.setEnabled(True) row += 1 self.resultTable.setItem(row, 0, QTableWidgetItem(self.tr("Offset"))) self.resultTable.setItem( row, 1, QTableWidgetItem("{0:d}".format(offset))) if not wildcard: row += 1 self.resultTable.setItem( row, 0, QTableWidgetItem(self.tr("Captures"))) self.resultTable.setItem( row, 1, QTableWidgetItem("{0:d}".format(captures))) row += 1 self.resultTable.setItem(row, 1, QTableWidgetItem(self.tr("Text"))) self.resultTable.setItem( row, 2, QTableWidgetItem(self.tr("Characters"))) row += 1 self.resultTable.setItem(row, 0, QTableWidgetItem(self.tr("Match"))) self.resultTable.setItem(row, 1, QTableWidgetItem(re.cap(0))) self.resultTable.setItem( row, 2, QTableWidgetItem("{0:d}".format(re.matchedLength()))) if not wildcard: for i in range(1, captures + 1): if len(re.cap(i)) > 0: row += 1 self.resultTable.insertRow(row) self.resultTable.setItem( row, 0, QTableWidgetItem( self.tr("Capture #{0}").format(i))) self.resultTable.setItem( row, 1, QTableWidgetItem(re.cap(i))) self.resultTable.setItem( row, 2, QTableWidgetItem("{0:d}".format(len( re.cap(i))))) else: self.resultTable.setRowCount(3) # highlight the matched text tc = self.textTextEdit.textCursor() tc.setPosition(offset) tc.setPosition(self.lastMatchEnd, QTextCursor.KeepAnchor) self.textTextEdit.setTextCursor(tc) else: self.nextButton.setEnabled(False) self.resultTable.setRowCount(2) row += 1 if startpos > 0: self.resultTable.setItem( row, 0, QTableWidgetItem(self.tr("No more matches"))) else: self.resultTable.setItem( row, 0, QTableWidgetItem(self.tr("No matches"))) # remove the highlight tc = self.textTextEdit.textCursor() tc.setPosition(0) self.textTextEdit.setTextCursor(tc) self.resultTable.resizeColumnsToContents() self.resultTable.resizeRowsToContents() self.resultTable.verticalHeader().hide() self.resultTable.horizontalHeader().hide() else: E5MessageBox.critical( self, self.tr("Error"), self.tr("""A regular expression and a text must""" """ be given."""))
def __init__(self): super(VNA, self).__init__() self.setupUi(self) # IP address validator rx = QRegExp('^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$') self.addrValue.setValidator(QRegExpValidator(rx, self.addrValue)) # state variables self.idle = True self.reading = False self.auto = False # sweep parameters self.sweep_start = 10 self.sweep_stop = 60000 self.sweep_size = 6000 # buffer and offset for the incoming samples self.buffer = bytearray(16 * 32768) self.offset = 0 self.data = np.frombuffer(self.buffer, np.complex64) # create measurements self.open = Measurement(self.sweep_start, self.sweep_stop, self.sweep_size) self.short = Measurement(self.sweep_start, self.sweep_stop, self.sweep_size) self.load = Measurement(self.sweep_start, self.sweep_stop, self.sweep_size) self.dut = Measurement(self.sweep_start, self.sweep_stop, self.sweep_size) self.mode = 'open' # create figures self.tabs = {} for i in range(len(self.graphs)): layout = getattr(self, '%sLayout' % self.graphs[i]) self.tabs[i] = FigureTab(layout, self.open, self.short, self.load, self.dut) # configure widgets self.rateValue.addItems(['10000', '5000', '1000', '500', '100', '50', '10', '5', '1']) self.rateValue.lineEdit().setReadOnly(True) self.rateValue.lineEdit().setAlignment(Qt.AlignRight) for i in range(self.rateValue.count()): self.rateValue.setItemData(i, Qt.AlignRight, Qt.TextAlignmentRole) self.set_enabled(False) # read settings settings = QSettings('vna.ini', QSettings.IniFormat) self.read_cfg_settings(settings) # create TCP socket self.socket = QTcpSocket(self) self.socket.connected.connect(self.connected) self.socket.readyRead.connect(self.read_data) self.socket.error.connect(self.display_error) # connect signals from widgets self.connectButton.clicked.connect(self.start) self.writeButton.clicked.connect(self.write_cfg) self.readButton.clicked.connect(self.read_cfg) self.openSweep.clicked.connect(partial(self.sweep, 'open')) self.shortSweep.clicked.connect(partial(self.sweep, 'short')) self.loadSweep.clicked.connect(partial(self.sweep, 'load')) self.singleSweep.clicked.connect(partial(self.sweep, 'dut')) self.autoSweep.clicked.connect(self.sweep_auto) self.stopSweep.clicked.connect(self.cancel) self.csvButton.clicked.connect(self.write_csv) self.s1pButton.clicked.connect(self.write_s1p) self.s2pshortButton.clicked.connect(self.write_s2p_short) self.s2popenButton.clicked.connect(self.write_s2p_open) self.startValue.valueChanged.connect(self.set_start) self.stopValue.valueChanged.connect(self.set_stop) self.sizeValue.valueChanged.connect(self.set_size) self.rateValue.currentIndexChanged.connect(self.set_rate) self.corrValue.valueChanged.connect(self.set_corr) self.levelValue.valueChanged.connect(self.set_level) self.tabWidget.currentChanged.connect(self.update_tab) # create timers self.startTimer = QTimer(self) self.startTimer.timeout.connect(self.timeout) self.sweepTimer = QTimer(self) self.sweepTimer.timeout.connect(self.sweep_timeout)
def __init__(self): super(mainView, self).__init__() self.setupUi(self) # 主要变量初始化 self.isShow_flag = False self.account = "admin" self.password = "******" self.loadTimeStr = "" self.isAdmin = False self.curPage = 1 self.totalPage = 1 # 日志相关变量和类的初始化 # self.log = logout.TimedRotatingFileLog("win_log",".\\log\\", "win.log",logging.DEBUG) self.log = logout.RotatingFileLog("win_log", ".\\log\\", "win.log", logging.DEBUG) self.msg_list = [] self.msg_list2 = [] self.DEBUG = 1 self.INFO = 2 self.WARNING = 3 self.ERROR = 4 self.CRITICAL = 5 # 线程锁及线程信号量初始化 self.mutex1 = QMutex() self.mutex2 = QMutex() self.signal = threading.Event() self.signal.clear() # 初始化数据库相关信息 my_cof = config.config() # my_cof.cofig_update() my_cof.get_config() self.msg_level = my_cof.level["msg_level"] self.ip1 = my_cof.scanner["s1_ip"] # "172.24.24.222" self.port1 = my_cof.scanner["s1_port"] # 51236 self.ip2 = my_cof.scanner["s2_ip"] # "172.24.24.222" self.port2 = my_cof.scanner["s2_port"] # 51236 self.db = pymysql.Connect(my_cof.mysql["host"], my_cof.mysql["user"], my_cof.mysql["passwd"], my_cof.mysql["dbName"]) self.cursor = self.db.cursor() # self.db = pymysql.Connect(mysql["host"], mysql["user"], mysql["passwd"], mysql["dbName"]) # self.cursor = self.db.cursor() # 系统时间显示相关类初始化 self.updateTime = QTimer() self.updateTime.start(1000) self.updateTime.timeout.connect(self.updateTimeShow) # 自动刷新显示列表定时器初始化 self.Refresh_timer = QTimer() self.Refresh_timer.timeout.connect(self.refreshSelf) # 扫码枪未连接提示 self.scanner_statue_timer = QTimer() self.scanner_statue_timer.timeout.connect(self.scanner_statu_change) self.scanner_statue_flag = False # PLC未连接提示 self.plc_statue_timer = QTimer() self.plc_statue_timer.timeout.connect(self.plc_statue_change) self.plc_statue_flag = False # 初始化状态栏及时间栏相关类及变量初始化 # self.setWhatsThis("123456789") self.statuLable = QtWidgets.QLabel() # self.errLable = QtWidgets.QLabel() self.nowTimeLable = QtWidgets.QLabel() self.statuLable.setAlignment(Qt.AlignLeft) # self.errLable.setAlignment(Qt.AlignCenter) self.nowTimeLable.setAlignment(Qt.AlignRight) self.statusbar.addWidget(self.statuLable) # self.statusbar.addWidget(self.errLable) self.statusbar.addWidget(self.nowTimeLable) self.statusbar.setStyleSheet("QStatusBar::item{border: 0px}") self.statuLable.setText("就绪") # self.errLable.setStyleSheet("color:red;font:bold;font-size:12px") # self.errLable.setText("异常显示") nowtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) self.nowTimeLable.setText(str(nowtime)) self.nowTimeLable.setStyleSheet("color:blue;font-size:12px") self.statuLable.setStyleSheet("color:red;font-size:12px") # 用户及登陆信息栏初始化 self.textLable.setStyleSheet("color:blue;font:bold;font-size:14px") self.userLable.setStyleSheet("color:red;font:bold;font-size:14px") self.loadTimeLable2.setStyleSheet("color:red;font:bold;font-size:14px") # 设置设置信息为只读 self.machineID.setReadOnly(True) self.plantID.setReadOnly(True) self.processNo.setReadOnly(True) self.localityNo.setReadOnly(True) self.type.setReadOnly(True) self.loadTime.setReadOnly(True) self.classBox.setEnabled(False) # 初始化页码显示控件 self.curPageNoEdit.setMaximumSize(QSize(40, 20)) self.curPageNoEdit.setStyleSheet("color:blue;font:bold;font-size:14px") validator = QRegExpValidator(QRegExp("\d+")) self.curPageNoEdit.setValidator(validator) # 设置只能输入数字 self.curPageNoEdit.setText(str(self.curPage)) self.curPageNoEdit.setAlignment(Qt.AlignCenter) self.totalPageLable.setStyleSheet("color:blue;font:bold;font-size:14px") # 设置PLC和扫码枪连接状态 self.PlcConStatu.setText("PLC等待连接") self.ScanConStatu.setText("扫码枪等待连接") self.PlcConStatu.setStyleSheet("background:none;border:none;font:bold;font-size:12px;color:#FF8800") self.ScanConStatu.setStyleSheet("background:none;border:none;font:bold;font-size:12px;color:#FF8800") # 设置各类信号与槽 self.prevPageBtn.clicked.connect(self.onClickedPrevPageBtn) self.nextPageBtn.clicked.connect(self.onClickedNextPageBtn) self.curPageNoEdit.returnPressed.connect(self.onPressedCurPageNoEdit) self.setBtn.clicked.connect(self.onClickedSetBtn) self.changePwdBtn.clicked.connect(self.onClickedChangePwdBtn) self.refreshBtn.clicked.connect(self.onClickedRefreshBtn) self.refreshSelfBtn.clicked.connect(self.onClickedRefreshSelfBtn) # 设置显示列表 # self.showTable.setHorizontalHeaderLabels(["序号", "工字轮编号", "重量1", "称重时间1", "是否二次称重", "重量2", "称重时间2"]) self.mode = QStandardItemModel() self.mode.setRowCount(15) self.mode.setColumnCount(7) for i in range(0, 15): for j in range(0, 7): self.mode.setItem(i, j, QStandardItem("")) self.mode.setHorizontalHeaderLabels(["序号", "工字轮编号", "重量1", "称重时间1", "是否二次称重", "重量2", "称重时间2"]) self.showTable.setModel(self.mode) self.showTable.verticalHeader().setVisible(False) self.setTable() # 初始化登陆界面类 self.loginView = loginView() self.loginView.loginBtn.clicked.connect(self.onClickedLoginBtn) self.loginView.loginBtn.pressed.connect(self.onClickedLoginBtn) self.loginView.account.returnPressed.connect(self.onClickedLoginBtn) self.loginView.password.returnPressed.connect(self.onClickedLoginBtn) # 初始化修改密码界面类 self.changePwdView = changePwdView() self.changePwdView.changeBtn.clicked.connect(self.onClickedChangeBtn_c) self.changePwdView.changeBtn.pressed.connect(self.onClickedChangeBtn_c) self.changePwdView.oldPwd.returnPressed.connect(self.onClickedChangeBtn_c) self.changePwdView.newPwd1.returnPressed.connect(self.onClickedChangeBtn_c) self.changePwdView.newPwd2.returnPressed.connect(self.onClickedChangeBtn_c) self.logMsgView = logMsgView()
def __init__(self, parent=None): super(CreateWeeklyAssignmentDialog, self).__init__(parent) self.setupUi(self) self.dateTimeEdit_startDay.setDisplayFormat("dd/MM/yyyy HH:mm") self.dateTimeEdit_endDay.setDisplayFormat("dd/MM/yyyy HH:mm") self.dateTimeEdit_cutoffDay.setDisplayFormat("dd/MM/yyyy HH:mm") self.dateTimeEdit_startDay.setDateTime(QDateTime.currentDateTime()) self.dateTimeEdit_endDay.setDateTime(QDateTime.currentDateTime()) self.dateTimeEdit_cutoffDay.setDateTime(QDateTime.currentDateTime()) self.lineEdit_penaltyPerDay.setPlaceholderText('0') # only allow Integers for PenaltyPerDay and totalAttempts regex = QRegExp("\\d+") self.lineEdit_penaltyPerDay.setValidator(QRegExpValidator(regex)) self.lineEdit_totalAttempts.setValidator(QRegExpValidator(regex)) self.lineEdit_attendance_marks.setValidator(QRegExpValidator(regex)) self.lineEdit_compilation_marks.setValidator(QRegExpValidator(regex)) self.lineEdit_test1_marks.setValidator(QRegExpValidator(regex)) self.lineEdit_test2_marks.setValidator(QRegExpValidator(regex)) self.lineEdit_test3_marks.setValidator(QRegExpValidator(regex)) self.lineEdit_test4_marks.setValidator(QRegExpValidator(regex)) self.accepted.connect(lambda: self.create_weekly_assignment()) self.buttonBox.setEnabled(False) self.comboBox_moduleCode.editTextChanged.connect( self.disable_buttonbox) # register listeners for all line edits for line_edit in self.findChildren(QLineEdit): line_edit.textChanged.connect(self.disable_buttonbox) # register listeners for all group boxes for group_box in self.findChildren(QGroupBox): group_box.toggled.connect(self.disable_buttonbox) group_box.toggled.connect(self.update_total_marks) group_box.toggled.connect(self.disable_groupbox) self.lineEdit_attendance_marks.textChanged.connect( self.update_total_marks) self.lineEdit_compilation_marks.textChanged.connect( self.update_total_marks) self.lineEdit_test1_marks.textChanged.connect(self.update_total_marks) self.lineEdit_test2_marks.textChanged.connect(self.update_total_marks) self.lineEdit_test3_marks.textChanged.connect(self.update_total_marks) self.lineEdit_test4_marks.textChanged.connect(self.update_total_marks) # set up initial available module codes self.comboBox_moduleCode.addItems(get_module_codes()) # set up week numbers self.comboBox_weekNumber.addItems([ "w01", "w02", "w03", "w04", "w05", "w06", "w07", "w08", "w09", "w10", "w11", "w12", "w13" ]) self.groupBox_customTest1.setCheckable(False) self.groupBox_customTest1.setChecked(True) self.checkBox_test1_inputDataFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test1_inputDataFile, self. label_test1_inputDataFile)) self.checkBox_test2_inputDataFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test2_inputDataFile, self. label_test2_inputDataFile)) self.checkBox_test3_inputDataFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test3_inputDataFile, self. label_test3_inputDataFile)) self.checkBox_test4_inputDataFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test4_inputDataFile, self. label_test4_inputDataFile)) self.checkBox_test1_answerFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test1_answerFile, self.label_test1_answerFile)) self.checkBox_test2_answerFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test2_answerFile, self.label_test2_answerFile)) self.checkBox_test3_answerFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test3_answerFile, self.label_test3_answerFile)) self.checkBox_test4_answerFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test4_answerFile, self.label_test4_answerFile)) self.checkBox_test1_filterFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test1_filterFile, self.label_test1_filterFile, is_filter=True, filter_line_edit=self.lineEdit_test1_filterCommand)) self.checkBox_test2_filterFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test2_filterFile, self.label_test2_filterFile, is_filter=True, filter_line_edit=self.lineEdit_test2_filterCommand)) self.checkBox_test3_filterFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test3_filterFile, self.label_test3_filterFile, is_filter=True, filter_line_edit=self.lineEdit_test3_filterCommand)) self.checkBox_test4_filterFile.stateChanged.connect( lambda: self.add_file_with_check_box( self.checkBox_test4_filterFile, self.label_test4_filterFile, is_filter=True, filter_line_edit=self.lineEdit_test4_filterCommand)) self.lineEdit_test1_filterCommand.setDisabled(True) self.lineEdit_test2_filterCommand.setDisabled(True) self.lineEdit_test3_filterCommand.setDisabled(True) self.lineEdit_test4_filterCommand.setDisabled(True) self.checkBox_test1_filterFile.stateChanged.connect( self.disable_buttonbox) self.checkBox_test2_filterFile.stateChanged.connect( self.disable_buttonbox) self.checkBox_test3_filterFile.stateChanged.connect( self.disable_buttonbox) self.checkBox_test4_filterFile.stateChanged.connect( self.disable_buttonbox)
def filter_model(self, txt): if self.proxy: self.proxy.setFilterRegExp(QRegExp(txt))