Line Edits leeren

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
-Passi-
User
Beiträge: 17
Registriert: Mittwoch 11. November 2020, 23:12

Gibt es eine schönere Lösung als folgende:

Code: Alles auswählen

all_lineedits = [
            self.ui.lineEdit_accounts_edit_usage,
            self.ui.lineEdit_accounts_edit_pw,
            self.ui.lineEdit_accounts_edit_email,
            self.ui.lineEdit_accounts_edit_username,
            self.ui.lineEdit_accounts_edit_webadress,
            self.ui.lineEdit_accounts_edit_name,
            ...
        ]

        for lineedit in all_lineedits:
            lineedit.clear()
um alle Lineedits in der UI zu leeren?
Problem ist das bei einem Wechsel des Stackedwidgets die Inputfelder beschreiben bleiben, deshalb wollte ich eine Funktion haben die alle Felder leert. Es muss doch bestimmt irgendwie schöner gehen als so, da ich nicht alle Lineedits da auflisten möchte (Es sind einige).
Karsten Böhme
User
Beiträge: 86
Registriert: Sonntag 23. Dezember 2012, 07:54

Hallo Passi,

hast Du es denn schon mal probiert ? Ich habe das grad mal mit ner str-List gemacht, das geht einwandfrei. Habe allerdings ne Type-Prüfung voran gesetzt.

Code: Alles auswählen

a = 'a'
b = 'b'
c = 'c'
lst = [a, b, c]

for x in lst:
    if type(x) == str:
        print(x.upper()
        
Output :
A
B
C
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Karsten Böhme: Das ist doch im Grunde genau das was -Passi- bereits hat, nur mit einer unnötigen und ”falschen” Typprüfung. ”Falsch” weil man an der Stelle, wenn überhaupt, mit `isinstance()` prüfen würde, damit man auch von `str` abgeleitete Klassen, die ja auch die `upper()`-Methode haben, nicht ausschliessen würde. Aber da stellt sich dann natürlich die Frage welche Typen man denn da erwartet die keine Zeichenketten sind, und warum die zusammen mit Zeichenketten in einer Liste stecken.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Karsten Böhme
User
Beiträge: 86
Registriert: Sonntag 23. Dezember 2012, 07:54

@__blackjack__: ... wenn ich Ihre Kommentare lese, dann staune ich jedes mal, dass ich überhaupt etwas hinbekomme !
Antworten