Ich habe eine Scrollbar in meinem Fenster eingefügt (in Verbindung mit Canvas)
Wie kriegt man es hin, dass das Scrollen ganz oben anfängt.
Scrollbar fängt nicht oben an!?
- __blackjack__
- User
- Beiträge: 14019
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Ich weiss nicht ob ich der Einzige bin, aber mir ist das Problem so *überhaupt nicht* klar nach dieser Beschreibung. Kannst Du ein minimales, aber lauffähiges Codebeispiel zeigen und beschreiben was genau Du erwartest und was stattdessen passiert?
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Hi Felixpythontkinter
Hier etwas für das Canvas Studium:Zeig uns doch bitte deine Kodierversuche.
Gruss wuf
Hier etwas für das Canvas Studium:
Code: Alles auswählen
import tkinter as tk
APP_TITLE = "Scrolled Canvas"
APP_XPOS = 100
APP_YPOS = 100
APP_WIDTH = 350
APP_HEIGHT = 200
class Application(tk.Frame):
def __init__(self, master):
self.master = master
tk.Frame.__init__(self, master)
self.label_frame = tk.Frame(self)
self.label_frame.pack(padx=0, pady=0)
self.vert_scrollbar = tk.Scrollbar(self.label_frame)
self.vert_scrollbar.pack(side='right', fill='y')
self.canvas = tk.Canvas(self.label_frame, bg='white',
yscrollcommand=self.vert_scrollbar.set)
self.canvas.pack(side='left', fill='both', expand=True)
self.canvas['width'] = 200
self.canvas['height'] = 200
self.canvas['scrollregion'] = (0, 0, 200, 500)
self.vert_scrollbar['command'] = self.canvas.yview
self.canvas.create_line(0, 0, 200, 500, fill='red')
button_frame = tk.Frame(self)
button_frame.pack(pady=(10, 0))
tk.Button(button_frame, text="Scrollbar oben",
command=self.set_to_top).pack(side='left', padx=2)
tk.Button(button_frame, text="Scrollbar unten",
command=self.set_to_bottom).pack(side='left', padx=2)
def set_to_bottom(self):
self.canvas.yview('moveto', 1.0)
def set_to_top(self):
self.canvas.yview('moveto', 0.0)
def main():
app_win = tk.Tk()
app_win.title(APP_TITLE)
app_win.geometry("+{}+{}".format(APP_XPOS, APP_YPOS))
#app_win.geometry("{}x{}".format(APP_WIDTH, APP_HEIGHT))
app = Application(app_win)
app.pack(fill='both', expand=True, padx=10, pady=10)
app_win.mainloop()
if __name__ == '__main__':
main()
Gruss wuf

Take it easy Mates!