qt mehrere strings in eine textbox o.ä (pos erledigt) C++ 

Status
Für weitere Antworten geschlossen.

f.o.g.

Registered +
Registriert
März 2008
Beiträge
495
ist sicherlich recht einfach aber ich find einfach nix dazu.
also ich hab mehrere strings die ich per schleife in eine textbox bringen will, jeweils in eine neue zeile.
wie genau kann ich das machen. in delphi ging das ja recht einfach, aber bei qt:confused:
so stell ich mir das ganze vor:
pseudocode:
Code:
for (x=0;x{
ui.textBox->addline(label[x])
}
so sollte die ausgabe sein!
Code:
erste zeile
zweite zeile
...
fünfte zeile
hoffe ihr versteht was ich meine.
greetz der f.o.g.
 
Zuletzt bearbeitet von einem Moderator:
Du schon wieder ;)

Es wäre ganz praktisch, wenn Du die Typen mitliefern würdest, so kann ich immer nur raten, worum es sich handelt.

Ich geh mal davon aus daß ui.textBox vom Typ "QListBox" ist, dann kannst Du Dir ja hier eine für Dich passende member function aussuchen:
Qt 3.0: QListBox Class

void insertStrList ( const char ** strings, int numStrings = -1, int index = -1 )

oder

void insertItem ( const QString & text, int index = -1 )

sollte doch klappen und wenn Dir die passende nicht gefällt, weil sie eben nicht wie in Delphi aussieht, dann kapsle sie doch einfach in eine eigene helper function.

Viel Spaß und schöne Grüße!
 
okay also ich hab nen QTextBrowser genommen. alternativ würde ich auch QTextEdit nehmen.
und ich verwende qt 4.4.3
 
Zuletzt bearbeitet von einem Moderator:
ob QTextBrowser oder QTextEdit ist ja erst mal egal, QTextBrowser erbt ja von QTextEdit.

Hast Du QTextBrowser schon am Laufen? Wie füllst Du jetzt den Text ein?

Ich würde versuchen mal mit der Funktion textCursor zu spielen, da gibts ne Methode "void insertText ( const QString & text )", damit sollte das Einfügen von Text ganz einfach möglich sein.

Zu finden ist das Ganze hier: Qt 4.4.3: Qt's Classes

Hier ein ungetestetes Beispiel:
ui.textBox->textCursor->insertText("Hello World");

Schöne Grüße!
 
Bitte nicht so viele Infos...

Warum gehts nicht, bzw. was geht nicht?
Compiler-/Linkerfehler?
Welche GUI verwendest Du denn eigentlich?
Was sagt der Debugger zu der ganzen Geschichte?

Schöne Grüße!
 
okay ist ja schon etwas später also bitte ich um nachsicht.
also ich verwende vs2008 mit qt integration und wenn ich das so eingebe schau ich immer auf intellisense dieses meldet sich aber an dieser stelle nicht.
demzufolge hab ich gar nicht erst debuggt.
soll es denn wirklich so schwer sein, ein paar zeilen in ne textbox zu schreiben? ich verstehs nich...
 
hmmm... was heißt hier spät, zum Entwickeln genau die richtige Zeit ;)

Das Problem kann jetzt natürlich an vielen Ecken liegen... und ohne vs+qt stocher ich hier natürlich ziemlich im Nebel.

Erst mal n paar Fragen:
a) Hast Du die Prof oder die Express-Version (von VS natürlich ;))?

b) Welche QT-Version hast Du, die freeware (habs nie gemacht, aber scheinbar kann man ja die freeware edition irgendwie in vs integrieren, müßte ich vielleicht bei Gelegenheit mal machen)?

c) von welchem Typ ist ui.textBox, ist das n Pointer oder ne Referenz, kannst Du mal die Definition hier reinstellen?

Nun ist natürlich die Frage, wie VS die Vervollständigung hinbekommt, aber wenn die qt libraries und die header files richtig eingebunden sind, sollte das schon klappen.

Wie weit kommst Du mit intellisense denn, bzw. wo kommst Du nicht mehr weiter?

QTextBroswer erbt auf jeden Fall public von QTextEdit, soviel steht fest (zumindest laut Trolltech API und die werdens ja wohl wissen). Und QTextEdit stellt die Methode QTextEdit::textCursor () zur Verfügung. QTextEdit hat ne öffentliche insertText-Methode. Also intellisense sollte meiner Meinung nach bis hierher durchkommen, wenn alles richtig eingebunden ist (notfalls mal Klammern setzen!).

versuch mal folgendes:
ui.textBox.textCursor.insertText("Hello World");
oder das da:
ui.textBox->textCursor.insertText("Hello World");

Viel Erfolg und schöne Grüße!
 
Zuletzt bearbeitet von einem Moderator:
a die prof
b die prof
c kein plan hab den großen rechner jetzt erstmal ausgemacht weils mich genervt hat *g*
bis dahin geht die vervollständigung
Code:
ui.textBox->textCursor
aber dann komm ich nicht mehr weiter...
btw ich würde auch jedes andere element benutzen wo ich komplett makieren und dann kopieren kann
 
ich hab hier die Express am Laufen und zieh mir grade mal die freie qt edition. Wenns damit geht sollts ja mit der prof auch gehen...

Auf die schnelle fällt mir noch ein, hast Du "QTextCursor" mit includiert?

Ansonsten wärs Klasse, wenn Du mir (zumindest die sourcen cpp+h) mal packen und schicken könntest, dann muß ich das nicht selber aufbauen.

Schöne Grüße!
 
ich geh davon aus dass QTextCursor ein element von qtGui ist dann wäre es auf jeden fall drin

//edit ich hab nun endlich die funktion die ich gesucht hab gefunden. wurde auch zeit...
für alle die es interessiert
Code:
ui.textEdit->insertPlainText
ist die entsprechende funktion dafür. danke trotzdem für deine hilfe.
 
Zuletzt bearbeitet von einem Moderator:
Freut mich daß es nun doch noch geklappt hat..

Allerdings scheint insertPlainText nur ne wrapper Funktion zu sein, in der Qt-Beschreibung steht:

http://doc.trolltech.com/4.4/qtextedit.html#insertPlainText schrieb:
void QTextEdit::insertPlainText ( const QString & text )

Convenience slot that inserts text at the current cursor position.

It is equivalent to
edit->textCursor().insertText(text);

so weit war ich ja garnicht weg :), nur die Klammern beim Aufruf von textCursor fehlten noch (klar, ist ja auch ne Funktion, die da aufgerufen wird, aber manchmal findet mein manueller Compiler nicht alle Fehler :dumm:).

Also um den vollen Funktionsumfang nutzen zu können, ist es vermutlich ratsam, sich den QTextCursor zu holen.

Schöne Grüße!

PS: Vergiss nicht zu closen
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten