class ZusatzFensterKerndaten(QWidget): def __init__(self, nummer, text): super().__init__() self.initMe(nummer, text) def initMe(self, nummer, text): self.l1 = QLabel(self) self.l1.setText('Inhalt der eingelesenen Zelle') self.l1.move(20, 5) self.nummer = nummer self.setGeometry(400, 300, 500, 700) self.zelle = QPlainTextEdit(self) self.zelle.setGeometry(0, 40, 500, 250) self.zelle.setPlainText(text) self.zelle.setReadOnly(True) self.l2 = QLabel(self) self.l2.setText( """Bitte geben Sie hier den Wert ein nach dem in der Zelle gesucht werden soll. Bsp. Wollen Sie einen Lastpunkt auslesen, welcher mit 5000 rpm angegeben ist, geben Sie 5000 ein. Achtung: keine Einheiten mit angeben. Nur Zahlen!""") self.l2.move(10, 330) self.eing = QLineEdit(self) self.eing.move(10, 410) p = QPushButton('Prüfen', self) p.clicked.connect(self.pruefen) p.move(180, 409) self.l3 = QLabel(self) self.l3.setText('vorangehende Zeichenkette') self.l3.move(10, 460) self.suchstring = QLineEdit(self) self.suchstring.move(180, 459) self.suchstring.setDisabled(True) self.l5 = QLabel(self) self.l5.setStyleSheet("background-color: yellow") self.l5.setText( "Prüfen Sie die vorrangehende Zeichenkette.\nSollte diese nicht stimmen, können Sie selbst eine angeben und erneut prüfen.\nAchtung: Leerzeichen nicht vergessen " ) self.l5.move(10, 490) self.l5.setVisible(False) self.l4 = QLabel(self) self.l4.setText('gefundener Eintrag') self.l4.move(10, 540) self.gefundener_string = QLineEdit(self) self.gefundener_string.move(180, 539) self.gefundener_string.setReadOnly(True) frage = QPushButton(self) frage.setIcon(QIcon("bilder_vorlagenersteller\\FrageIcon.png")) frage.move(450, 10) frage.clicked.connect(self.Hilfe) self.weiter = QPushButton('Weiter', self) self.weiter.move(420, 650) self.weiter.setDisabled(True) self.weiter.clicked.connect(self.weiter_gehts) def suchstring_finden(self): startindex = self.zelle.toPlainText().find(self.eing.text()) if startindex == 0: suchstring = '##Anfang###' elif startindex == -1: suchstring = 'ungültige Eingabe' else: suchstring = '' for i in range(0, 11): suchstring = self.zelle.toPlainText()[startindex - i] + suchstring if (startindex - i) == 0: break return suchstring[:-1] def pruefen(self): suchstring = self.suchstring.text() if suchstring == '': suchstring = self.suchstring_finden() print(suchstring) self.suchstring.setDisabled(False) self.l5.setVisible(True) self.weiter.setDisabled(False) self.suchstring.setText(suchstring) startindex = self.zelle.toPlainText().find(suchstring) + len( suchstring) ende = startindex + len(self.eing.text()) self.gefundener_string.setText( self.zelle.toPlainText()[startindex:ende]) def weiter_gehts(self): w.findChild(QLabel, self.nummer).setVisible(True) w.findChild(QLineEdit, 'suchstr' + self.nummer).setVisible(True) w.findChild(QLineEdit, 'suchstr' + self.nummer).setText(self.suchstring.text()) self.close() def Hilfe(self): self.h = HilfeFenster( "bilder_vorlagenersteller\\erweitertes_einlesen.png") self.h.show()
class ArbeitsdatenFenster(QWidget): def __init__(self): super().__init__() self.initMe() def initMe(self): kd = QLabel(self) kd.setText( 'Einlesen der Arbeitsdaten\n\nMappe\t\t Zeile1 Spalte1 Länge Breite' ) kd.move(100, 80) dt = QLabel(self) dt.setText( 'Gesamtmoment\n\n\n\n\n\n\n\n\nRadialkraft\n\n\n\n\n\n\n\n\nTangentialkraft\n\n\n\n\n\n\n\n\nBiegemoment' ) dt.move(10, 133) vb = QLabel(self) vb.move(200, 110) frage = QPushButton(self) frage.setIcon(QIcon("bilder_vorlagenersteller\\FrageIcon.png")) frage.move(510, 30) frage.clicked.connect(self.Hilfe) self.weiter = QPushButton('Weiter', self) self.weiter.setDisabled(True) self.weiter_gehts = [False, False, False, False] self.weiter.move(480, 650) self.weiter.clicked.connect(self.weiter_funkt) name_dbox = [ 'Dropbox\nGesamtmoment', 'Dropbox\nRadialkraft', 'Dropbox\nTangentialkraft', 'Dropbox\nBiegemoment' ] for zeile in range(0, 4): self.drop = Dropbox(self) self.drop.setGeometry(420, 125 + zeile * 120, 140, 100) self.drop.setText(name_dbox[zeile]) self.drop.setObjectName('Adrop' + str(zeile)) for spalte in range(0, 5): self.eing = QPlainTextEdit(self) self.eing.setAcceptDrops(False) self.eing.setObjectName(str(zeile) + str(spalte)) self.eing.textChanged.connect(self.freigabe) if spalte == 0: self.eing.setGeometry(100 + 80 * spalte, 125 + zeile * 120, 80, 100) elif spalte < 3: self.eing.setGeometry(200 + 45 * (spalte - 1), 125 + zeile * 120, 40, 100) else: self.eing.setGeometry(210 + 45 * (spalte - 1), 125 + zeile * 120, 40, 100) self.eing.textChanged.connect(self.freigabe) self.show() def freigabe(self): self.weiter.setEnabled(True) for zeile in range(0, 4): for spalte in range(0, 5): if self.findChild(QPlainTextEdit, str(zeile) + str(spalte)).toPlainText() == '': self.weiter.setDisabled(True) def weiter_funkt(self): self.arbeits_daten = {} datenblock = [] for zeile in range(0, 4): datenzeile = [] for spalte in range(0, 5): eintraege = self.findChild(QPlainTextEdit, str(zeile) + str(spalte)).toPlainText() datenzeile.append(eintraege.split('\n')) datenblock.append(datenzeile) self.arbeits_daten['gesamt_moment'] = datenblock[0] self.arbeits_daten['f_rad'] = datenblock[1] self.arbeits_daten['f_tan'] = datenblock[2] self.arbeits_daten['biege_moment'] = datenblock[3] self.close() def Hilfe(self): self.h = HilfeFenster( "bilder_vorlagenersteller\\einlesen_arbeitsdaten.png") self.h.show()