2017-09-22 2 views
-2

Gibt es eine Möglichkeit, ein QTableWidget die Zellen automatisch zu vergrößern, wenn Daten hinzugefügt werden? Ich habe versucht, mit den horizontalen und vertikalen Header-Werten zu spielen, aber ich kann nicht den Dreh raus bekommen. Ich habe versucht, was der Dox sagt, aber es scheint nicht zu folgen. Hat jemand eine gute, klare Erklärung, wie diese funktionieren?PyQt QTableWidget Zellengröße

+0

Bitte zeigen Sie, was Sie versucht haben – eyllanesc

+0

Willkommen bei Stack Overflow. Was hast du selbst schon versucht? Bitte lesen Sie [Wie stelle ich eine gute Frage?] (Https://stackoverflow.com/help/how-to-ask). Stack Overflow ist kein Programmier- oder Nachhilfe-Service. Es wird erwartet, dass Sie Ihr Problem recherchieren und einen guten Versuch unternehmen, den Code selbst zu schreiben, bevor Sie ihn veröffentlichen. Wenn Sie an etwas * Besonderem * hängen bleiben, kommen Sie zurück und fügen Sie ein [minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) und eine Zusammenfassung dessen ein, was Sie versucht haben, damit wir Ihnen helfen können. – FluffyKitten

Antwort

0

Am besten erstellen Sie 2 separate "Header-Ansichten" - je 1 für horizontale und vertikale Richtungen. Sobald sie erstellt sind, wenden Sie sie auf Ihre Tabelle an.

Erstellen Sie die Vertikale Ansicht und stellen Sie die ResizeMode zu QHeaderView.Interactive:

headViewV = QHeaderView(Qt.Vertical) 
headViewV.setResizeMode(QHeaderView.Interactive) 

und die horizontale Ansicht, auch die ResizeMode zu QHeaderView.Interactive Einstellung:

headViewH = QHeaderView(Qt.Horizontal) 
headViewH.setResizeMode(QHeaderView.Interactive) 

Sobald Sie diese erstellt haben, können Sie sich bewerben sie mögen so:

QTableWidget.setVerticalHeader(headViewV) 
QTableWidget.setHorizontalHeader(headViewH) 

Beide vie ws sind auf "Interaktiv" eingestellt, was bedeutet, dass sie vom Benutzer angepasst werden können. Sehen Sie in der Dokumentation unter "setResizeMode" nach, welche Modi für Ihre Situation am besten geeignet sind.

+0

Ich sehe, was ich falsch gemacht habe, ich habe sie nicht erstellt und sie separat anwenden. Das funktioniert! – Boba

+0

'Ändern Sie headViewH.setResizeMode (0)' in 'headViewH.setResizeMode (QHeaderView.Interactive)'. Es macht es verständlicher. – eyllanesc

+0

@eyllanesc - Guter Punkt re: "Interaktiv" über "0". Ich bevorzuge die Integer-Konstanten, wenn ich mich an sie erinnere und aus irgendeinem Grund denke ich, dass andere das auch tun. – user7207540

Verwandte Themen