QTextEdit aulesen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Trubinial Guru
User
Beiträge: 117
Registriert: Dienstag 7. April 2009, 13:40

Hallo ich hab ein kleines Problem, was nicht allzu schwer zu lösen sein sollte, jedoch habe ich einfach nichts dazu gefunden.
Undzwar will ich ein QTextEdit Objekt auslesen, in eine Variable speichern und anschließen wieder ausgeben.
Leider habe ich bis jetzt nicht herausgefunden wie ich ein Qtextedit Objekt auslesen und anschließend speichern kann.

Kann mir vielleicht jemand helfen?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Tipp: Schau doch mal in die Doku von Qt! Ist echt nicht schwierig, das zu finden :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Trubinial Guru
User
Beiträge: 117
Registriert: Dienstag 7. April 2009, 13:40

Hyperion hat geschrieben:Tipp: Schau doch mal in die Doku von Qt! Ist echt nicht schwierig, das zu finden :-)
Ja ich weiß, ich hab auch schon in diversen Dokus geschaut und ich weiß das es eigentlich extrem einfach sien sollte aber ich bekomm es einfach nicht hin.
Ich bin auf folgende Befehle gestoßen aber weiß nicht ob die richtig sind und wenn, wie ich sie anwenden soll:

Code: Alles auswählen

self.rueckseite_abfrage.selectAll()
self.rueckseite_abfrage.copy()
Willst mir nicht doch nochmal helfen?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

http://doc.trolltech.com/latest/qtextedit.html

Du suchst nach etwas, das einen QString zurückliefert. Dazu könnten Stichwörter wie "content" oder so ähnlich vielleicht hilfreich sein.

Das kannst Du doch auch selber finden!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
ichisich
User
Beiträge: 134
Registriert: Freitag 1. Januar 2010, 11:52

Weniger kompliziert .....


Du suchst nach:

Code: Alles auswählen

textEdit.toHtml ()
#oder
textEdit.toPlainText()
Ersteres gibt dirden Inhalt als HTML-String zurück,
zweiteres eben als Text ohne Formatierung, Farbe was auch immer.

Gruß
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

ichisich hat geschrieben:Weniger kompliziert .....
Es ging um Hilfe zur Selbsthilfe - was war daran kompliziert?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
ichisich
User
Beiträge: 134
Registriert: Freitag 1. Januar 2010, 11:52

Ich empfinde es teilweise komplizierter 2-3 Frage-Antwort Runden zu machen als eine kurze Ansage wie die Funktion/Mehtode heißt + der Info wie man selber drauf kommen kann.

Ich empfinde den erzieherischen Aspekt teilweise als zu hochgewichtet.

(Nur mein persönliches Empfinden)

Gruß
BLU3L30PARD
User
Beiträge: 26
Registriert: Freitag 20. August 2010, 19:31

Müsste nicht eigentlich das sein, was du suchst?:

Code: Alles auswählen

myString = self.myTextBox.text()
print myString
Oder wenn du den Text als QString brauchst:

Code: Alles auswählen

myString = QtCore.QString(self.myTextBox.text())
[...]
lunar

@BLU3L30PARD: "QTextEdit.text()" gibt es nicht, das ist also sicherlich nicht das, was der OP sucht. Und wenn, dann wäre "QString"-Konvertierung in diesem Fall vollkommen überflüssig, da die Qt-Methoden bereits "QString" zurückgeben. Auch ist so gut wie nie "QString"-Exemplar nötig, im Gegenteil, meist möchte man ein Python-Objekt und muss somit "unicode()" auf den Rückgabewert der Methode anwenden.
BLU3L30PARD
User
Beiträge: 26
Registriert: Freitag 20. August 2010, 19:31

Sorry, ich habe QTextEdit mit QLineEdit verwechselt :D
Trubinial Guru
User
Beiträge: 117
Registriert: Dienstag 7. April 2009, 13:40

Erstmal Danke für die vielen Antworten und die Hilfe zur Selbsthilfe. Ich hab mittlerweile echt viel Zeit für diese wahrscheinlich echt simple Aufgabe gebraucht und hab immernoch kein brauchbares Ergebnis. Zweifel mittlerweile stark an mir selbst =)

Das hier ...

Code: Alles auswählen

myString = self.myTextBox.text()
print myString
... ging schon in die richtige Richtung, nur funktioniert es nicht, wie hier auch schon festgestellt habe.
Auch toPlainText und toHtml hat nicht gewirkt und ich hab die beiden Befehle auch noch nicht wirklich verstanden - muss ich da noch einen Befehl hinterherschicken?
Wäre nett wenn ihr mir noch weiter unter die Arme greifen könntet. Vielen Dank!
ichisich
User
Beiträge: 134
Registriert: Freitag 1. Januar 2010, 11:52

Hmmm...
Vielleicht gibst Du mal ein lauffähiges Beispiel zum besten.
Sonst werden es Raterunden ....

[edit]

self.rueckseite_abfrage was ist das für ein Objekt ?
Trubinial Guru
User
Beiträge: 117
Registriert: Dienstag 7. April 2009, 13:40

Also im Grunde ist es ganz simpel: Ich habe ein QTextEdit Objekt, bei dem ich den eingegebenen Text als Variable speichern will, damit ich mit dieser weiterarbeiten will (In datei speichern, in einem anderen QTextEdit Objekt speichern...). Das wichtige ist, dass ich den Inhalt in eine Variable speichern kann, so wie es bei BLU3L30PARD's Tipp der Fall war.
ichisich
User
Beiträge: 134
Registriert: Freitag 1. Januar 2010, 11:52

Ja und genau das kannst Du mit den von mir genannten Methoden machen.
Da das aber laut Dir nicht geht könnte ich ja raten warum, will ich aber nicht.
Auf alle Fälle machst Du etwas falsch wenn es nicht geht.
Trubinial Guru
User
Beiträge: 117
Registriert: Dienstag 7. April 2009, 13:40

Ok ich hab es geschafft obwohl ich mir 100% sicher bin das ich das gleiche schon vorher mindestens zehn mal gemacht hab. Es war ein vollkommen leichtes

Code: Alles auswählen

	text = self.rueckseite_abfrage.toPlainText()
Tud mir leid dass ich sonen schwere Fall war aber tausend Dank!
Antworten