Das Eckerl zwischen den Scrollbalken für ein Canvas

Fragen zu Tkinter.
Antworten
Data
User
Beiträge: 14
Registriert: Freitag 20. Juni 2003, 19:40

Ein Hallo dem kundigen Schlagendomteur,

als Neuling bei der Oberflächenprogrammierung hab ich mir ein Canvas mit einem horizontalen und einem vertikalen Scrollbalken geschlängelt. Ansich ist mein Ergebnis ja in Ordnung. Aber: Es läßt mir einfach keine Ruhe, daß sich je nach der Reihenfolge der pack-Anweisungen entweder der horizontal oder der vertikale Scrollbalken über die ganze Breite bzw. Höhe des Hauptfensters erstreckt, in welchenm sich die Canvas befindet. Ich bekomme unten rechts einfach kein profimäßiges Quadrat zwischen die Scrollbalken. :oops:

:idea: Der kundige Schlagendomteur kann darüber bestimmt nur schmutzeln. Mit einem kleinen Tipp oder einem Beispielchen hätte die Python in meinem Windowsterrarium endlich Ruh.

Danke Data
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hallo!

Zu bändigen ist da weniger Python als vielmehr Tk(inter).
Das Verhalten hat mich schon in den Anfangzeiten von Tcl/Tk gestört, zumal es "damals" noch nicht Grid gab. Das wäre nämlich die eine Möglichkeit. Beispiel:

Code: Alles auswählen

from Tkinter import *
root = Tk()

text = Text(root,wrap=NONE,width=20,height=20)
scrolly = Scrollbar(root, command=text.yview)
scrollx = Scrollbar(root, orient=HORIZONTAL,command=text.xview)
text.configure(yscrollcommand=scrolly.set)
text.configure(xscrollcommand=scrollx.set)
text.grid(row=0,column=0)
scrolly.grid(row=0,column=1,sticky=NS)
scrollx.grid(row=1,column=0,sticky=EW)

root.mainloop()
Die Widgets werden also einfach in ein Gitter gepackt. Das Resultat ist meist vorhersagbarer, als beim Standard-Packer ;-)

Alternativ könntest Du die Python megawidgets (Pmw)[1] installieren. Da gibt u.a. sowas wie ScrolledCanvas, -Field, -Frame, -Listbox und noch ein paar andere Goodies. Sehr empfehlenswert. Ich sehe gerade, dass ich hier eine völlig veraltete Version am Laufen habe.

Jan

[1] http://pmw.sourceforge.net/
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hallo,

helfen würde da auch ein (Grafik)Label-Widget an der Stelle der "Ecke" mit einem "Blind-png". Also einer Vollständig transparenten Grafik in der Grösse der "Ecke".


Gruß

Dookie
Antworten