Wie man text aus Eingabefeld in Pyside?
Ich bin zu lernen, Pyside und ich kann nicht scheinen, um text aus einem QLineEdit in meine eigene Methode, so dass ich die Eingabe in eine Abfrage usw. Ich weiß, es hat zu tun mit das Eingabefeld.text(), aber es ist nicht scheinbar, um zu arbeiten. Muss ich verknüpfen es mit einem signal, bevor der text geht in meine variable??
Dies ist die Art von Sache, die ich versucht habe. Brauche ich ein textChanged signal, um es zu aktualisieren oder so?? Ich habe versucht, indem selbst.Linie , aber das hat nicht funktioniert, ein wenig rostig auf der Objekt-orientierten Programmierung.
line=QtGui.QLineEdit(self)
myVar = line.text()
Einen kurzen code Beispiel wäre Super. Danke!
InformationsquelleAutor Jay | 2012-07-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheinen Sie das Objekt erstellt haben und Sie es, rechts danach. Natürlich erhalten Sie einen leeren string aus
text()
; es funktioniert so nicht.Sollten Sie die
QLineEdit
um ein GUI, wenn der Benutzer etwas damit zu tun, und dann erhalten Sie den text mitQLineEdit.text()
. Zu wissen, Wann genau der Benutzer verändert den text, ja, Sie sollte die Verbindung derQLineEdit.textEdited
slot.Hier ist ein vollständiges Beispiel, wie ein Mechanismus zum kopieren von text aus einer
QLineEdit
zu einemQLabel
sobald Sie geändert wird.Ist dies Beispiel zeigt, wie Sie eine Verbindung herstellen können eine eigene Funktion zum ein-slot. Aber seit ein
QLabel
hat einesetText
slot konnten wir gerade tunself.line_edit.textChanged.connect(self.line_edit.setText)
und nicht eine Funktion definieren.P. S. Du solltest wirklich Lesen einige Tutorials; ich fand this one sehr nützlich.
Oh ich lese die tutorials, und es ist nicht das verschieben von Daten zwischen bereits bestehenden pyside Gegenstände mit Ihren vorhandenen Signale und slots, die mich erhält. Es ist das verschieben der Daten in eigene Variablen zu gehen, um eine Datenbank-etc. Was ich auf meinem Bildschirm ist sehr sehr nahe an dem, was Sie schrieb, werde ich angestarrt, wie ich es muss in der Nähe sein. Vielen Dank für die Hilfe!!!
Das Letzte sollte
self.line_edit.textChanged.connect(self.label.setText)
(label statt line_edit)InformationsquelleAutor Oleh Prypin