[ich benutze Python3.0 und PyQt4]
Hallo,
ich habe eine eigentlich triviale, aber grundlegende Frage. Ich habe irgendwie noch nirgends eine Lösung gefunden, obwohl dieses Wissen eigentlich immer gebraucht wird.
Und zwar möchte ich zur Laufzeit auf ein QWidget zugreifen - beispielsweise eine ein QLineEdit. Wie kann ich seinen Inhalt, also QLineEdit().text zur Laufzeit verändern?
Ich habe z.B. eine von QWidget abgeleitete Form, erstelle darauf ein gridLayout und füge dem ein LineEdit hinzu - soweit so gut. Wenn ich jetzt aber aus anderen Methoden, die nicht die __init__ methode sind, den Text des Edits verändern will, weiß ich nicht, wie das geht.
Code:
class GrForm(QtGui.QWidget):
"""
Formular
"""
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
grid = QtGui.QGridLayout()
grid.setSpacing(10)
lName = QtGui.QLabel('Gruppename')
lName.setAlignment(Qt.AlignRight)
grid.addWidget(lName, 1, 0)
self.setLayout(grid)
Ich stelle mir (inspiriert von Delphi) jetzt sowas zum Ändern des Textes vor
Code:
GrForm.grid.edit.text = "Blabla"
Aber selbst wenn ich grid als Variable in der Klasse einfüge und das Edit auch, so viele mir im Moment keine andere Variante ein, als alle Elemente im Grid mit ihren Positionen in eine Liste zu schreiben und jedes mal, wenn etwas verändert wird, alles neu zu generieren. Aber das geht doch sicher auch einfacher?! 
Vielen Dank allen Helfenden!
Lesezeichen