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: 13100
- 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?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
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!