Seite 1 von 1

Text Farbe im QTextEdit

Verfasst: 23. Februar 2010 11:59
von Exasperation
Hallo zusammen!

Ich schreibe gerade einen einfachen Code Editor und habe im Moment das Problem, dass die Schriftfarbe immer wieder zurückgesetzt wird sobald ich den Text im QTextEdit komplett lösche... Ich starte mein Programm, schreibe los, Text wird wie erwartet in Gelb angezeigt. Dann lösche ich den Text (egal auf welche art und weise) und fange wieder an zu schreiben und der Text wird in schwarz angezeigt oO

Code: Alles auswählen

t_my_text_edit::t_my_text_edit() : QTextEdit()
{
	setStyleSheet(
		QString::fromUtf8("background-color: qlineargradient( /*nen gradienten als hintergrund*/)) );
	setFont( QFont( "Courier" ) );
	setTextColor( QColor( Qt::yellow ) );
	setCursorWidth(2);
}
Und wenn wir schon dabei sind: Gibts nen Weg die Farbe des Cursors zu ändern? Seine Paintmethode überschreiben?

Verfasst: 23. Februar 2010 14:34
von Exasperation
Okay ich machs jetzt mit ner kleinen Krücke in meiner on_text_changed() Methode:

Code: Alles auswählen

void main_window::on_text_changed()
{
	set_not_saved();

	if( m_text_edit->toPlainText().isEmpty() )
	{
		m_text_edit->setTextColor( QColor( my_color ) );
	}

}
Also jedes Mal wenn ich was am Text ändere wird überprüft ob das QTextEdit leer ist und die Farbe wird wieder gesetzt... Kennt da jemand nen besseren Weg, die Schriftfarbe zu setzen?

Verfasst: 23. Februar 2010 16:22
von upsala
Versuchs mal über die QPalette.

Wobei ich den Sinn von gelber Schriftfarbe auf weißen Grund nicht vorstellen kann.

Verfasst: 24. Februar 2010 10:06
von Exasperation
Werde ich mir mal anschauen. Danke :)

Wer sagt denn dass der Grund weiß ist? ;) Hab nur festgestellt, dass gewisse Kontraste für das Auge angenehm sind... Schwarze Schrift auf weißem Grund ist zwar nichts verkehrtes, aber ich habe in meinem QTextEdit einen Farbverlauf von zwei leicht unterschiedlichen Blautönen drin...

Hab mal nen Screenshot angehängt.. Bin grade erst in der Anfangsphase, über die endgültige Farbgebung bin ich mir noch nicht sicher ;) Es fehlen auch noch so Dinge wie Zeilennummern, Syntaxhighlighting etc...

Und ja ich bin mir dessen bewusst, dass es bereits genug Texteditoren gibt :p Wenn jemand Vorschläge für irgendeine Funktion hat, die er in seinem Editor bisher vermisst hat, immer her damit :p