Breite von Treeview

Fragen zu Tkinter.
Antworten
we1303
User
Beiträge: 6
Registriert: Montag 22. März 2021, 21:51

Dienstag 15. Juni 2021, 23:45

Ich habe ein Treeview gebastelt, das universell auf beliebige Tabellen angewendet werden kann. Diese sind also noch unbekannt, ebenso die Größe.

Bei sehr vielen Zeilen hat Treeview den Parameter height und den vertikalen Scrollbalken. Ist die Tabelle länger als das Treeview-Fenster hoch ist, dann wird der Scrollbalken aktiviert und man kann das Fenster über der Tabelle verschieben. So weit, so gut.

Das Gleiche hätte ich gerne auch horizontal, aber ich habe dabei Probleme:
1. Treeview hat offensichtlich keinen Parameter width (oder maxwidth oder ...), so dass eine mittelgroße Tabelle Treeview über 4000 Pixel breit werden läßt (treeview.winfo_reqwidth() => 4043).
2. Ich habe keine Methode gefunden z.B. durch einen Frame die Breite zu begrenzen.
3. Der horizontale Scrollbalken bleibt inaktiv, der vertikale ist nicht erreichbar, weil außerhalb des Bildschirms.

Was mache ich falsch? Wie kann ich die Breite der Tabellenanzeige begrenzen?
__deets__
User
Beiträge: 10071
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mittwoch 16. Juni 2021, 09:07

Ich habe das mit tkinter noch nie probiert, aber in anderen Toolkits kann / muss man den View in einen Container stecken, der das scrolling erledigt. Das wäre dann auch mein Vorschlag hier.
we1303
User
Beiträge: 6
Registriert: Montag 22. März 2021, 21:51

Mittwoch 16. Juni 2021, 12:11

Treeview und die beiden Scrollbalken sind "contained" in einem Frame (siehe oben). Vertikal sollte dank treeview.height der Frame nicht erforderlich sein (nicht probiert, ist ja aber auch okay), horizontal ignoriert Treeview nicht nur den Frame sondern auch die Bildschirmgröße.
Antworten