QTreeWidget(Item) - Kopfzeile und Spaltenbreite

Verschiedenes zu Qt
Antworten
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

QTreeWidget(Item) - Kopfzeile und Spaltenbreite

Beitrag von Saiyaman »

Hi!

Also um den Header einzurichten braucht man ein Item, welches als Header festgelegt wird. In dem Item kann ich auch Icons und Text usw. festsetzen.

Aber wo bestimme ich die Breiter einer Spalte (Column)? Im QtAssistant stoß ich dann immer wieder auf QAbstractModel oder QAbstractItemView o.ä. Wo bzw. wie muss ich die Spaltenbreite festlegen?

MfG
Zuletzt geändert von Saiyaman am 8. Mai 2006 15:06, insgesamt 1-mal geändert.
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Also mit header() bekommt man das QHeaderView-Objekt des TreeWidget. Dort kann ich dann wenigstens so sachen wie Breite und Ausrichtung der Kopfzeile einstellen. Allerdings ist der Kopf immernoch zu dick (Height).

Ideen? :)

MfG
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Saiyaman hat geschrieben:Dort kann ich dann wenigstens so sachen wie Breite und Ausrichtung der Kopfzeile einstellen.
Du kannst dort die Breite jeder Spalte einstellen (resizeSection(int,int)), falls Du das nicht schon meintest.

Saiyaman hat geschrieben:Allerdings ist der Kopf immernoch zu dick (Height).
Ich denke mal die Höhe richtet sich nach dem Inhalt. Ansonsten hilft wohl nur ein extra Style für den Header.
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Ich meine jetzt nur den Header - nicht die ganze Spalte.

resizeSection (int, int); funktioniert überhaupt nicht. Die erste Spalte steht jetzt auf Qt:Stretch und die restlichen auf Qt:Custom. So sind die custom-Spalten nur so groß wie das Icon (ohne Text). Manuell kann ich leider keine Größe setzen.

MfG
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Saiyaman hat geschrieben:Ich meine jetzt nur den Header - nicht die ganze Spalte.
Du willst den Header kleiner haben, als er jetzt ist. Dann versuch es mit setFixedHeight(int).
Saiyaman hat geschrieben:resizeSection (int, int); funktioniert überhaupt nicht.
Ich hab es bisher nur in Verbindung mit einem QTableWidget benutzt und da geht das ohne Probleme.

Der TaskTracker tut es momentan mal wieder nicht, sonst würde ich da mal schauen, ob es ein bekanntes Problem gibt.
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Code: Alles auswählen

setFixedHeight(int);
...hab ich noch nicht probiert. Mit...

Code: Alles auswählen

setMaximumHeight(int);
...wird die 3D-Höhe zwar kleiner, allerdings bleibt ein grauer Rest drunter und der Spaltenkopf ist letztendlich nicht schmaler und sieht zudem noch "doof" aus.

Code: Alles auswählen

resizeSection(int, int);
...funktioniert nicht bei...

Code: Alles auswählen

setResizeMode(int, Qt::Interactive);
setResizeMode(int, Qt::Stretch); // is ja auch logisch ^_^
setResizeMode(int, Qt::Custom);
MfG
Antworten