QTextEdit - markierten text fett darstellen

Alles rund um die Programmierung mit Qt
Antworten
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

QTextEdit - markierten text fett darstellen

Beitrag von -=Freaky=- »

hallo,

ich versuche, den markierten text in einem QTextEdit bei klick auf einen button fett erscheinen zu lassen.
momentan sieht meine funktion dazu so aus:

Code: Alles auswählen

void MainWindow::boldText()
{
	QTextCursor textCursor = textEdit->textCursor();
	if( textCursor.hasSelection() )
	{
		QString selectedText = textCursor.selectedText();
		textCursor.removeSelectedText();
		textEdit->insertHtml( tr( "<b>%1</b>" ).arg( selectedText ) );
	}
}
es funktioniert soweit, dass der markierte text fett wird, aber wenn man direkt an den gerade "fett gewordenen" text weitere zeichen haengt, also z.B. einfach
weitertippt, sind diese ebenfalls fett, was nicht sein soll.

dasselbe passiert uebrigens bei diesem ansatz

Code: Alles auswählen

void MainWindow::boldText()
{
	QTextCursor textCursor = textEdit->textCursor();
	if( textCursor.hasSelection() )
	{
		QString selectedText = textCursor.selectedText();
		textCursor.removeSelectedText();
		QTextCharFormat format;
		format.setFontWeight( QFont::Bold );
		textCursor->insertText( selectedText, format ));
	}
}

Code: Alles auswählen

void MainWindow::boldText()
{
	QTextCursor textCursor = textEdit->textCursor();
	if( textCursor.hasSelection() )
	{
		QTextCharFormat format;
		format.setFontWeight( QFont::Bold );
		textCursor->setCharFormat( format );
	}
}
ich konnte im assistant keinen hinweis zu diesem verhalten finden und auch nicht per google-suche, wobei mir hier aber auch die richtigen zauberworte fehlen.

ich hoffe, das problem ist verstaendlich, wenn nicht bitte nachfragen!

bin dankbar fuer jeden hinweis/vorschlag/ansatz.

mfg,
julian
Antworten