PySide - PyQt und : Wie setzen QTableWidget Spaltenbreite als Anteil an den verfügbaren Platz?

Entwickle ich ein computer-Anwendung, mit PySide und ich bin mit der QTableWidget. Lassen Sie uns sagen, meine Tabelle hat 3 Spalten, aber die Daten, die Sie enthalten, ist sehr unterschiedlich, wie (für jede Zeile) einen langen Satz in der ersten Spalte, dann die 3-stellige zahlen in den beiden letzten Spalten. Ich möchte meine Tisch-Größe ändern, um seine Größe anpassen, um die Daten, oder zumindest in der Lage sein um die Spalte Größen als (sagen wir) 70/15/15 % des verfügbaren Speicherplatzes.

Was ist der beste Weg, dies zu tun ?

Ich habe versucht table.horizontalHeader().setResizeMode(QHeaderView.Stretch) nach der Lektüre diese Frage, aber es macht den 3 Spalten der gleichen Größe.

Ich habe auch versucht table.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents) Dank Fabio's Kommentar aber es füllt nicht den gesamten verfügbaren Speicherplatz als nötig.

Weder Interactive, Fixed, Stretch, ResizeToContents von der QHeaderView Dokumentation scheinen, um mir zu geben was ich brauche (siehe zweiten edit).

Jede Hilfe würde geschätzt werden, auch wenn es für Qt/C++ ! Ich danke Ihnen sehr.


EDIT : fand ich eine Art workaround, aber es ist noch nicht das, was ich Suche :

header = table.horizontalHeader()
header.setResizeMode(QHeaderView.ResizeToContents)
header.setStretchLastSection(True)

Wäre es besser, wenn gab es eine setStretchFirstSection Methode, aber leider scheint es nicht zu sein.


EDIT 2 :

Die einzige Sache, die geändert werden können in der Tabelle ist die Letzte Spalte, kann der Benutzer eine Zahl eingeben. Rote Pfeile zeigt an, was möchte ich haben.

Hier ist, was passiert mit StretchPySide - PyQt und : Wie setzen QTableWidget Spaltenbreite als Anteil an den verfügbaren Platz?

Hier ist, was passiert mit ResizeToContents PySide - PyQt und : Wie setzen QTableWidget Spaltenbreite als Anteil an den verfügbaren Platz?

Versuchen QHeaderView.ResizeToContents statt QHeaderView.Stretch
Das funktioniert, aber es ist nicht ganz das, was ich Suche, denn mit ResizeToContents, als meine Spalten nicht groß genug sind, Sie nicht füllen den Platz zur Verfügung. Werde ich Bearbeiten, so wird es klar.

InformationsquelleAutor AdrienW | 2016-06-29

Schreibe einen Kommentar