Ich möchte bei einem Text in einem QTextbrowser mittels Button alle ' - ' (Minus) -Zeichen mit einer Hintergrundfarbe versehen, damit diese deutlich sichtbar sind.
Ich schaffe es aber nicht so richtig.
Mein erster Ansatz war folgender:
Den Text zunächst komplett in einen String lesen und diesen dann Zeichen für Zeichen wieder in den TextBrowser schreiben.
Über if/else dann selektieren, ob das Zeichen dann ein Minus ist und entsprechend den Hintergrund setzten.
hier der Code:
Code: Alles auswählen
QString text;
text=ui->textBrowser->toPlainText();
ui->textBrowser->clear();
QString temp;
ui->textBrowser->setTextBackgroundColor(Qt::green);
for(int i=0; i<text.size(); i++){
if(text.mid(i,1) == "-"){
ui->textBrowser->insertPlainText(temp);
temp="";
ui->textBrowser->setTextBackgroundColor(Qt::red);
ui->textBrowser->insertPlainText(text.mid(i,1));
ui->textBrowser->setTextBackgroundColor(Qt::green);
}else{
temp = temp+ text.mid(i,1);
}
}
ui->textBrowser->insertPlainText(temp);
QString temp habe ich bereits eingeführt, um das Ganze zu beschleunigen.
Hat evtl. noch jemand eine Idee, wie es schneller funktioniert?
Ich habe mir auch den QSyntaxHighlighter angeschaut. Allerdings komme ich damit nicht so ganz klar wenn ich einzelne Zeichen färben will...