Formatierung QListBoxItem

Alles rund um die Programmierung mit Qt
Antworten
stonecold
Beiträge: 147
Registriert: 19. Oktober 2005 10:48

Formatierung QListBoxItem

Beitrag von stonecold »

Hallo,

folgendes ist mein Problem. Ich habe eine QListBox, die in meinem Fenster einer Tabelle ähnelt. Der String jedes Items besteht aus mehreren zusammengeführten Teilen, d.h jedes Teil dieses Strings stellt also innerhalb der Zeile eine Spalte da. (schwierig zu erklären)

Ich möchte nun den jeweiligen String so formatieren, dass innerhalb der Liste jeweils alle zusammengehörenden Teile untereinander stehen. Ich habe es folgendermaßen versucht:

Mittels std::ostringstream und Funktionen aus iomanip habe ich die Strings zusammengebaut:
for(........)
{

Code: Alles auswählen

sstr << std::setfill(' ') << std::left << std::setprecision(4)
				 << std::setw(7)   << myString1			
				 << std::setw(5)   << myString2  
				 << std::setw(11) << myDouble1
				 << std::setw(9)   << myDouble2 
				 << std::setw(10) << myDouble3 
				 << std::setw(15) << myDouble4;
listBox->insertItem(sstr.str())
}

In der Konsole ausgegeben ist auch alles Recht schön formatiert. Stecke ich den String aber in die Liste, scheint es so als seien nicht alle Zeichen gleich groß.
Wie kann ich mein Problem in den Griff bekommen?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Verwende eine nichtproportionale Schriftart oder eine Tabelle.
stonecold
Beiträge: 147
Registriert: 19. Oktober 2005 10:48

Beitrag von stonecold »

Habe es gerade mal mit " listFont.setFixedPitch(true) " versucht aber es funktioniert irgendwie nicht. Stelle ich damit nicht eine einheitliche Zeichenbreite ein? Gilt das auch für das Leerzeichen?

QFont listFont( "Courier", 10, QFont::Normal );
listFont.setFixedPitch(true);


EDIT:
listFont.setStyleHint(QFont::Courier); bringt auch nix
Antworten