Ich versuche, Bilder mit tkinter anzuzeigen, und ich habe Probleme beim Hinzufügen einer Bildlaufleiste. Ich würde gerne mit dem Mausrad sowohl horizontal als auch vertikal scrollen können, sollte das Bild die Fenstergröße überschreiten. Das Problem ist, dass das Mausrad nicht funktioniert, wenn ich eine Leinwand verwende.Problem mit Mausrad + Bildlaufleisten in tkinter
in diesem Code i Mausrad können Y bewegen und + Mausrad verschieben X zu bewegen (das ist genau das, was ich will):
import tkinter as tk
master = tk.Tk()
scrollbarX = tk.Scrollbar(master)
scrollbarX.pack(side=tk.BOTTOM, fill=tk.X)
scrollbarY = tk.Scrollbar(master)
scrollbarY.pack(side=tk.RIGHT, fill=tk.Y)
listbox = tk.Listbox(master, yscrollcommand=scrollbarY.set, xscrollcommand=scrollbarX.set)
for i in range(1000):
listbox.insert(tk.END, str(i)+"-----------------------------------------------------------------------")
listbox.pack(side=tk.LEFT, fill=tk.BOTH, expand=tk.YES)
scrollbarX.config(command=listbox.xview, orient=tk.HORIZONTAL)
scrollbarY.config(command=listbox.yview)
master.mainloop()
Allerdings, wenn ich die Listbox mit einer Leinwand auszutauschen, die mouswheel macht nichts mehr. Scrollen manuell funktioniert immer noch:
Ich bin noch neu in der Programmierung, jede Hilfe wird sehr geschätzt!
Dank. Also ich verstehe, dass es keinen eingebauten Weg gibt, wenn Sie Leinwand benutzen? Weil es mit einer Listbox funktioniert. – dudemeister
Soweit ich mich erinnere, müssen Sie, wenn es um die Leinwand geht, selbst Mausereignisse und ähnliches verbreiten. – Vallentin
Das ist ein Mist. Danke für die Hilfe Jungs. – dudemeister