ich hänge seit Tagen an diesem Problem fest und würde mich freuen, wenn mir jemand einen Hinweis in die richtige Richtung geben könnte!
Ich habe diesen Code:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import tkinter as tk
class App(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.config(background="yellow")
self.cv = tk.Canvas(self, background="bisque",width=500, height=500)
# def resize(event):
# w,h = event.width, event.height
# print ('W ' + str(w))
# print ('H ' + str(h))
# self.cv.config(width=w)
#self.cv.bind('<Configure>', resize)
self.xsb = tk.Scrollbar(self, orient="horizontal", command=self.cv.xview)
self.ysb = tk.Scrollbar(self, orient="vertical", command=self.cv.yview)
self.cv.configure(yscrollcommand=self.ysb.set, xscrollcommand=self.xsb.set)
self.cv.grid(row=0, column=0, sticky="nsew")
self.xsb.grid(row=1, column=0, sticky="ews")
self.ysb.grid(row=0, column=1, sticky="nse")
self.grid_rowconfigure(0, weight=2)
self.grid_columnconfigure(0, weight=2)
if __name__ == "__main__":
root = tk.Tk()
app = App(root)
app.grid(row=0, column=0, sticky="nsew")
root.grid_columnconfigure(0, weight=1)
root.mainloop()
Interessanterweise liefert das Ziehen am unteren Fensterrand mit der Maus auch kein <Configure>-Event (der auskommentierte Teil im Code). Wenn ich rechts oder links ziehe, werden sowohl Höhe als auch Breite zurückgegeben, wenn ich unten oder oben ziehe, weder das eine noch das andere.
Vielen Dank und viele Grüße
Thorsten