Seite 1 von 1

Formatierung QListBoxItem

Verfasst: 13. November 2007 13:49
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?

Verfasst: 13. November 2007 16:36
von upsala
Verwende eine nichtproportionale Schriftart oder eine Tabelle.

Verfasst: 14. November 2007 08:21
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