Ich entwickle eine Computeranwendung mit PySide und ich verwende das QTableWidget. Nehmen wir an, meine Tabelle hat 3 Spalten, aber die Daten, die sie enthalten, sind sehr unterschiedlich, wie (für jede Zeile) ein langer Satz in der ersten Spalte, dann dreistellige Zahlen in den zwei letzten Spalten. Ich möchte haben meine Tabelle Größe ändern, um seine Größe an die Daten anzupassen, oder zumindest in der Lage die Spaltengrößen als (sagen wir) 70/15/15% des verfügbaren Speicherplatzes.PySide - PyQt: Wie setze ich QTableWidget Spaltenbreite als Anteil des verfügbaren Platzes?
Was ist der beste Weg, dies zu tun?
Ich habe versucht, table.horizontalHeader().setResizeMode(QHeaderView.Stretch)
nach dem Lesen this question, aber es macht 3 Spalten der gleichen Größe.
Ich habe auch versucht table.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)
dank Fabio 's comment, aber es füllt nicht den gesamten verfügbaren Platz nach Bedarf.
Weder Interactive
, Fixed
, Stretch
, ResizeToContents
vom QHeaderView documentation scheint mir zu geben, was ich brauche (zweite bearbeiten sehen).
Jede Hilfe wäre willkommen, auch wenn es für Qt/C++ ist! Vielen Dank.
EDIT: fand ich irgendwie dieses Problem zu umgehen, aber es ist immer noch nicht, was ich suche:
header = table.horizontalHeader()
header.setResizeMode(QHeaderView.ResizeToContents)
header.setStretchLastSection(True)
Es wäre besser, wenn es eine setStretchFirstSection
Methode existiert, aber leider gibt tut scheint nicht eins zu sein.
EDIT 2:
Das einzige, was in der Tabelle geändert werden kann, ist die letzte Spalte, kann der Benutzer eine Anzahl darin eingeben. Rote Pfeile zeigen an, was ich gerne hätte.
Hier ist, was mit Stretch
geschieht
Hier ist, was mit ResizeToContents
Versuchen QHeaderView.ResizeToContents anstelle von QHeaderView.Stretch – Fabio
Dies funktioniert, aber es ist nicht ganz das, was ich suche, denn mit 'ResizeToContents', da meine Spalten nicht groß genug sind, füllen sie nicht den verfügbaren Platz. Ich werde bearbeiten, damit es klarer wird. – BusyAnt