Texteditor: Ein/Ausgabe von Qt auf eigene Klasse leiten

Verschiedenes zu Qt
Antworten
Roque
Beiträge: 7
Registriert: 2. Mai 2008 13:37
Kontaktdaten:

Texteditor: Ein/Ausgabe von Qt auf eigene Klasse leiten

Beitrag von Roque »

Hi,

ich möchte mich kurz vorstellen: mein Name ist Johannes, ich studiere Informatik und arbeite mich gerade in Qt ein.

Mein Ziel ist, ein kleines Verschlüsselungsrogramm zu entwickeln. Mit Tipps von diversen Büchern habe ich einen TextEditor hinbekommen, mit laden/speichern usw. Nun geht es an die Verschlüsselung und ich weiß nicht mehr weiter...

Ich dachte mir, dass ich bei der Ein-und Ausgabe von Qt eingelesene Zeilen einer .txt Datei recht einfach meiner eigenen Klasse übergeben könnte, welche ich in reinem C++ geschrieben habe (also einfache char-arrays).

Die C++ Klasse zum Verschlüsseln liest über simple Datei-Ströme (infile...) Stringweise in ihre Arrays (bzw. Matrix) ein:

Code: Alles auswählen


void Matrix::eingabe()
{
    
ifstream input_standard ("C:\\...Standard.txt");

for(i = 0; i < DIM; i++)		
{
  input_standard.getline(bufferstring, DIM);

   for(j = 0; j < DIM; j++)
  {
     content[i] [j] = bufferstring[j];
  }
}

Daraus ergibt sich nun meine Frage, wie man die Ein/Ausgabe von Qt am einfachsten auf meine Klasse lenken könnte... wenn das überhaupt richtig geht?

Danke für eure Hilfe!
Johannes
flo84wa
Beiträge: 1
Registriert: 12. Februar 2008 09:52

Beitrag von flo84wa »

Hallo,

ich weiß jetzt nicht, welche QT-Klasse du verwendest um den Text darzustellen. Ich vermute mal, du hast verwendest QTextEdit. Da gibt's die beiden Funktionen setText(...) und text(). Mit der einen Funktion kannst du den Text auslesen (evt mit .toAscii().constData() in ein Char-Array konvertieren) und dann deiner Verschlüsselungsfunktion übergeben. Das Ergebnis schreibst dann einfach ein eine Datei. Beim öffnen gehts genau anderst rum. Du Liest die Datei aus (evt mit QFile), gibtst das deiner Entschlüsselungsfunktion und zeigst das Ergebnis mit setText() an.

Für die Parameter der Funktionen verweise ich auf die QT-Dokumentation.

Ich hoffe ich konnte dir helfen,
Grüße,
Florian
Antworten