C++ Qt --> QTextEdit in String einlesen

Ghost_Rider_R

Lieutenant
Registriert
Nov. 2009
Beiträge
752
Hallo miteinander,

als Java Umsteiger wollte ich ein Simples Textfeld auslesen (QTextEdit) und in eine Stringvariable speichern.
Leider stellt mich dies schon vor ein größeres Problem. Wie macht man das?

So was kleines und doch schier unlösbar :o

Danke und Grüße Ruff :)
 
Hi,

QTextEdit implementiert QTextDocument als Datenstruktur.

Diese wiederum bietet die Methode toPlainText.

Also sollte der Code irgendwie so aussehen:
Code:
QString deineStringVariable = deinQTextEditObjekt->document->toPlainText();

Ob das funktioniert oder die schönste Methode ist kann ich dir allerdings leider nicht sagen ^^
 
...ja nur ich würde das ganze gerne in einer normalen Stringvariable speichern.

Also String ichbineinstring = ... irgendwas

An sowas hab ich gedacht, wenn das geht... so ähnlich siehts zumindest in Java aus :rolleyes:
 
std::string x = deineStringVariable.toStdString()
 
Was meinst du mit "normalen" String? Ist dir QString nicht normal genug? Fall du einen std::string meinst ...

Code:
std::string ichbineinstring = deinQTextEditObjekt->document->toPlainText().toStdString();

Ein bißchen Doku lesen muß man schon können.
 
Also ein String im Standardcontainer?
Wenn du sowieso mit Qt arbeitest sehe ich den Sinn da nicht wirklich, aber QString bietet dafür die Methode toStdString().

"String" gibt es in "reinem" C++ nicht als Datentyp. (Das was am nächsten dran wäre ist wohl ein char* ) Und solltest du die Standardbibliothek verwenden wird es über dieses Template realisiert.


"Normaler" als ein QString wird es also nicht wirklich und dieser sollte dir vermutlich auch jeden Wunsch erfüllen.
 
Age. schrieb:
"String" gibt es in "reinem" C++ nicht als Datentyp. (Das was am nächsten dran wäre ist wohl ein char* ) Und solltest du die Standardbibliothek verwenden wird es über dieses Template realisiert.


"Normaler" als ein QString wird es also nicht wirklich und dieser sollte dir vermutlich auch jeden Wunsch erfüllen.
Die C++-Standardbibliothek ist auch standardisiert und ist Teil des gesamten C++-Standards. Guck mal hier rein:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf
Seite 601 ist die Definition des Strings. Wenn irgendjemand einen C++-Compiler baut, dann muss er String so implementieren, wie es da steht. Ob er dann Clang, Visual C++ oder GCC nimmt, ist schnuppe. Es ist sehr sinnvoll sich an die Grundstandards zu halten, wenn es möglich ist. So ist er auch unabhängig von Änderungen oder Fehlern in Qt.
 
Aber es ist in C++ anders als z.B. int, float und bool kein intrinsischer Datentyp, und das ist es, was Age ausdrücken wollte, vermute ich mal.
 
...wo ist denn der konkrete Unterschied zwischen einem String und einem QString?

Ich kenn aus JAVA nur die Klasse String, welche einfach als ganz normale Zeichenkette
dient und mehr brauch ich ja eig. auch nicht...
 
Zurück
Oben