Seite 1 von 1

Selbstformatierung von QTextEdit

Verfasst: 25. März 2007 21:25
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?

Verfasst: 26. März 2007 09:06
von upsala
QSyntaxHighlighter kennst du?
Was Konstanten sind weist du auch?
Und das (unsinnige) Ergebnis von 1 || 4 kennst du auch?

Verfasst: 26. März 2007 10:20
von lepsai
1 || 4 - das ist nicht schlecht :)

Verfasst: 26. März 2007 16:56
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^^.