folgende Situation: Bevor Daten aus den Textfelder verarbeitet werden, will ich noch einige Überprüfungen unternehmen. Eine davon ist zu prüfen, ob der Anwender überhaupt etwas in den Textfelder geschrieben hat, und nicht in der lineEdit nur die Leertaste und in der textEdit nur die Enter-Taste betätigt hat.
Für die Überprüfung bin ich wie folgt vorgegangen:
Code: Alles auswählen
def check_inputs(self):
self.str_lineEditSubject = str(self.ui_pp_feedback.lineEditSubject.text())
self.str_textEditFeedback = self.ui_pp_feedback.textEditFeedback.toPlainText
if not len(self.str_lineEditSubject.strip()) == 0:
print "not blank string"
if len(self.str_textEditFeedback .strip()) == 0:
print "not blank string"
else:
print "str_textEditFeedback: blank string"
self.ui_pp_feedback.textEditFeedback.textBackgroundColor ('#f6989d;') # red
self.show_msgbox_error()
else:
print "blank string"
self.ui_pp_feedback.lineEditSubject.setStyleSheet('background-color: #f6989d;') #red
self.show_msgbox_error()
Und jetzt bekomme ich zwei Probleme. Im textEditFeedback greift die strip-Methode nicht. Folgende Fehlermeldung:
Ich kann mir vorstellen warum, eben weil dieses Textfeld im Gegensatz zu der lineEdit MultiLines zulässt? Jedoch weiß ich leider nicht, wie ich das Problem lösen soll. Zudem gleich eine Frage hinten ran. Geht mein Vorgehen auch etwas eleganter und weniger so verwirrend aussehend? Denn bei mehreren Textfeldern wird es kritisch.AttributeError: 'builtin_function_or_method' object has no attribute 'strip'