Seite 1 von 1

Das Eckerl zwischen den Scrollbalken für ein Canvas

Verfasst: Freitag 20. Juni 2003, 20:14
von Data
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

Re: Das Eckerl zwischen den Scrollbalken für ein Canvas

Verfasst: Freitag 20. Juni 2003, 21:47
von Voges
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/

Verfasst: Sonntag 22. Juni 2003, 19:44
von Dookie
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