Den reiner text bekommen von QTextEdit

Alles rund um die Programmierung mit Qt
Antworten
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Den reiner text bekommen von QTextEdit

Beitrag von patrik08 »

Den reiner text bekommen von QTextEdit

ich formatieren anfang den text so...

Code: Alles auswählen

void Gui_Front::SetupXMLHighlighter()
{
    /* class Highlighter   */
    QFont font;
    font.setFamily("Courier");
    font.setFixedPitch(true);
    font.setPointSize(10);

    xml_area->setFont(font);
    result_area->setFont(font);
    xsl_area->setFont(font);
    highxml = new Highlighter(xml_area->document());
    highxsl = new Highlighter(xsl_area->document());
    highresult = new Highlighter(result_area->document());
}
dann moechte ich speichern.... aber xml_area->document() kommt nichts.... xml_area->document()->setPlainText() auch nichts..

compiler sagt..

gui_front.cpp:264: error: conversion from `QTextDocument*' to non-scalar type `QString' requested

Code: Alles auswählen

    QString actualfile =GetCurrentFile();
    
                        int tabpos = tabWidget->currentIndex();
                        switch(tabpos)
                        {
                        case 0:
                            if (IsNetFile(actualfile)) {
                               QString newfilename = filedialog->getSaveFileName(this,tr("Save as.. "), "", "textplain (*.xml)");
                                       if (!newfilename.contains(".xml", Qt::CaseInsensitive)) { 
                                       newfilename = newfilename+".xml";
                                       }
                                       /* xml_area->document()->setPlainText() */
                                file_put_contents( newfilename , xml_area->document()  );
                                xml_edit_line->setText ( newfilename );
                               } 
                            if (!IsNetFile(actualfile) and actualfile.size() > 1) {
                                file_put_contents( actualfile , xml_area->document() ); 
                            }
                        break;
QTextEdit ist rein text...

Code: Alles auswählen

xml_area->insertPlainText(QString( "%1" ).arg( file_get_contents( xmlcurrent ) ));
                        xml_area->toPlainText();

wie bekomme ich den neuen text....
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Super ... und ins Unicode ASCI... (xml)

zuerst ins array und dann wieder qstring so wie
char zu qstring oder?

etwas so oder?

Code: Alles auswählen

     /*  QLocale iso?  */
    QByteArray encodedString = xml_area->document()->toPlainText();
    QTextCodec *codec = QTextCodec::codecForName("ISO 8859-1");
    QString string = codec->toUnicode(encodedString);

Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Was soll das? Schau doch einfach was http://doc.trolltech.com/4.1/qstring.html dir bietet... dort gibts toLatin1(), toAscii(), utf16() und mehr.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

bei linux & mac gibt das locale nicht nur die sprache und das land sondern auch wie das os text bearbeitet ist.... ob utf8 iso ecc... oder ecc...

wen man von utf8 nochmals zu ut8 convertiert gibt es ein zeichen salat...
kann ich in sicher sein das qt immer alle texte im utf8 bearbeitet!.

bei nicht qt applicationen mache ich ansonsten immer ein regular expression
(QRegExp) und http://doc.trolltech.com/4.1/qlocale.html qlocale gibt leider keine info...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

patrik08 hat geschrieben: wen man von utf8 nochmals zu ut8 convertiert gibt es ein zeichen salat...
kann ich in sicher sein das qt immer alle texte im utf8 bearbeitet!.
Es kann dir egal sein wie Qt intern seine Daten speichert solange Du sie Qt ordentlich übergibst. Also ist deine Frage irrelevant.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten