PyQt: Wie setze ich verschiedene Header-Größen für einzelne Header?

8

Ich habe eine Liste mit Listen mit zwei Elementen, einem Wort und einer Nummer. Diese Liste wird mit einem Tablewidget dargestellt.

Mein Ziel ist es, eine Tabelle mit zwei Spalten und den notwendigen Zeilen zu erzeugen, aber der Kopf der Spalte, in der die Wörter stehen, sollte größer sein als die Zahlenspalte.

Ich könnte Größe Spalten zu Inhalt verwenden, aber ich möchte die Tabelle ohne den weißen leeren weißen Raum um die Tabelle, nach der Größenänderung.

Für die Erstellung des GUI-Codes verwende ich QtDesigner.Thanks.

    
GiannisIordanou 20.12.2011, 01:33
quelle

2 Antworten

14

Es gibt einige Methoden der Klasse QHeaderView , die wahrscheinlich das tun, was Sie wollen. Das einfachste ist:

%Vor%

Dadurch wird sichergestellt, dass die letzte Spalte automatisch an den verfügbaren Platz in der Tabelle angepasst wird, wobei die Breite der anderen Spalten unverändert bleibt (und vom Benutzer in der Größe geändert werden kann).

Alternativ gibt es Methoden zum Festlegen der ResizeMode der Spalten.

Für Qt5:

%Vor%

Für Qt4:

%Vor%

Damit wird die Breite der zweiten Spalte festgelegt und sichergestellt, dass die Größe der ersten Spalte automatisch angepasst wird, um den verbleibenden Platz zu füllen (aber eine andere Größenanpassung durch den Benutzer verhindert wird).

    
ekhumoro 20.12.2011, 18:53
quelle
4

die beste Lösung dafür, in Qt5 müssen Sie setSectionResizeMode anstelle von setResizeMode verwenden:

%Vor%

oder

%Vor%     
Jhon Escobar 29.07.2015 13:47
quelle