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.
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
Das Eckerl zwischen den Scrollbalken für ein Canvas
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: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/
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()
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/
-
- 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
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