hallo,
ich lade eine datei in ein QTextEdit ein. hat jemand eine idee, wie ich die anzahl der zeilen raus finden kann?? hab in der doku nix passendes gefunden.
danke
[gelöst] anzahl der zeilen aus datei
[gelöst] anzahl der zeilen aus datei
Zuletzt geändert von Linuxguru am 24. Juni 2007 12:17, insgesamt 1-mal geändert.
-
-=Freaky=-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
mit qt-bordmittel weiss ich auch nicht, aber das kann man doch per hand machen.
....so zum beispiel?
beispiel nicht getestet!
mfg,
julian[/code]
Code: Alles auswählen
int countLines( const QTextEdit &textEdit )
{
int lineCount = 0;
for( int i = 0; i < textEdit.toPlainText().size(); i++ )
if( textEdit.toPlainText().at( i ) == '\n' )
lineCount++;
lineCount++; // letzte Zeile endet nicht auf '\n', wird deshalb in der schleife nicht mitgezählt
return lineCount;
}beispiel nicht getestet!
mfg,
julian[/code]
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
hallo
... soweit ich es verstanden habe, arbeitet QTextEdit nicht mit Zeilen sondern mit 'Absätzen', sogenannten QTextBlock. Die Anzahl der Absätze bekommst Du raus, in dem du das zu QTextEdit gehörende QTextDocument nach der Anzahl der Blockcounts fragst.
Gruß Arne
... was genau verstehst Du unter 'reinladen ' ?ich lade eine datei in ein QTextEdit ein
... soweit ich es verstanden habe, arbeitet QTextEdit nicht mit Zeilen sondern mit 'Absätzen', sogenannten QTextBlock. Die Anzahl der Absätze bekommst Du raus, in dem du das zu QTextEdit gehörende QTextDocument nach der Anzahl der Blockcounts fragst.
Code: Alles auswählen
int absaetze = m_ui->MeinTextEdit->document()->blockCount();-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
... nun ja, wenn alle Zeilen mit QTextEdit textedit->append("zeile") einfügt und keine weiteren Spielereien wie Grafiken oder Tabellen einbaut, dann entspricht jeder Absatz genau einer mit LF getrennten Zeile (und somit die Anzahl der Zeilen der Anzahl der Absätze) 
Gruß Arne
Frage am Rande: kann man innerhalb eines Absatzes ein böses "\n" setzen (oder ein "<br>") und wird das dann als fester Zeilenumbruch innerhalb eines Absatzes gehandelt ?
Gruß Arne
Frage am Rande: kann man innerhalb eines Absatzes ein böses "\n" setzen (oder ein "<br>") und wird das dann als fester Zeilenumbruch innerhalb eines Absatzes gehandelt ?
Ansonsten: Wenn man eine sehr lange Zeile einfügt und das Widget zu klein ist, wird diese als Mehrzeiler dargestellt. Somit hat er zwar einen Block aber auch mehr Zeilen...Any ASCII linefeed characters (\n) in the inserted text are transformed into unicode block separators, corresponding to insertBlock() calls.