Selbstformatierung von QTextEdit

Alles rund um die Programmierung mit Qt
Antworten
piXelshooter
Beiträge: 43
Registriert: 25. März 2007 21:19

Selbstformatierung von QTextEdit

Beitrag von piXelshooter »

Hi, ich hab QTextEdit gesubclasst, und eine Funktion geschrieben, die aufgerufen wird, sobald der Text geändert wird (ich weiß, dass das auch ohne subclassing geht, is aber aus nem andren grund).

Wenn in besagter Funktion jetzt steht:

Code: Alles auswählen

{
    QTextCharFormat format;
    format.setFontUnderline(true);
    if(find("hans",QTextDocument::FindFlag(1 || 4)))
    {
        setCurrentCharFormat(format);
    }
};
steht, stürt das programm ab, soblad ich die Zeichenfolge "hans" eingebe. Die Fehlermeldung is da besonders hilfreich: "unknown software exception"

seltsamerweise führt

Code: Alles auswählen

    if(find("hans",QTextDocument::FindFlag(1 || 4)))
    {
        moveCursor(QTextCursor::WordLeft,QTextCursor::MoveAnchor);
        insertHtml("<i>");
        moveCursor(QTextCursor::WordRight,QTextCursor::MoveAnchor);
        insertHtml("</i>");
    }
zu noch weniger reaktion. Das scheint aber ausschließlich am zweiten "insertHtml" zu liegen, denn was das erste macht, landet auch im programm. Wenn ich aber durch das zweite Text, also nicht inhalte von tags (bzw nicht von bestimmten tags wie zb <i></i>), einfügen lasse, dann tritt besagter absturz auf...

kann ein QTextEdit sich nicht selbst formatieren?

woran kann das liegen?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

QSyntaxHighlighter kennst du?
Was Konstanten sind weist du auch?
Und das (unsinnige) Ergebnis von 1 || 4 kennst du auch?
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

1 || 4 - das ist nicht schlecht :)
piXelshooter
Beiträge: 43
Registriert: 25. März 2007 21:19

Beitrag von piXelshooter »

also,
ja ich kenne QSyntaxHighlighter, aber das ier müsste doch eig auch gehen? Wie meinst das mit den konstanten? ich meine, ich weiß wat das is, aber was bedeutet das hier? Und 1 || 4 - ok, müsste 1 | 4 heißen, aber es geht trotzdem^^.
Antworten