Witam
Taki oto kodzik:

#! /usr/bin/env python3
# -*- coding: utf-8 -*-

import tkinter as tk
from tkinter import *

main=Tk()
main.geometry("500x400+200+100")

def f_top():
	def can_scroll_up(event):
		can.yview_scroll(1, "units")
		return

	def can_scroll_down(event):
		can.yview_scroll(-1, "units")
		return

#	def can_scroll_left(event):
#		pass
#		return

#	def can_scroll_right(event):
#		pass
#		return

	top = Toplevel()
	top.geometry("600x300")
	top.grab_set()
	top.transient(main)
	top.resizable(width=False, height=False,)

	frm_out = Frame(top, bd=2, relief='raised',)
	frm_out.pack(fill='both', expand=True,)
	
	vscrbar = Scrollbar(frm_out)
	hscrbar = Scrollbar(frm_out)
#	hscrbar.bind_all("<Button-5>", can_scroll_left)
#	hscrbar.bind_all("<Button-4>", can_scroll_right)
	
	can = Canvas(frm_out, background = "blue", xscrollcommand=hscrbar.set, yscrollcommand=vscrbar.set,)
	#can.bind_all("<Button-5>", can_scroll_up)
	#can.bind_all("<Button-4>", can_scroll_down)

	vscrbar.config(command=can.yview, orient='vertical')
	hscrbar.config(command=can.xview, orient="horizontal")

	frm_inner=Frame(can,)
	frm_inner.bind_all("<Button-5>", can_scroll_up)
	frm_inner.bind_all("<Button-4>", can_scroll_down)

	can.grid(row=0, column=0, sticky="nsew")
	vscrbar.grid(row=0, column=1, sticky="ns")
	hscrbar.grid(row=1, column=0, sticky="ew")

	frm_out.grid_rowconfigure(0, weight=2)
	frm_out.grid_columnconfigure(0, weight=2)

	can.create_window(0,0,window=frm_inner, anchor='nw')

	for item in range(20):
		Label(frm_inner, text=str(item)+" Jakiś bardzo długi tekst, aby wychodził poza okno. Wtedy slider na dole przyjmie właściwy rozmiar.").pack()
		Button(frm_inner, text="Button").pack()

	frm_out.update_idletasks()
	can.config(scrollregion=can.bbox("all"))
	top.mainloop()
	return

btn = Button(main, text='Open', command=f_top).pack()

main.mainloop()

quit()

Problemem jest skrolowanie za pomocą rolki i ten skrol dzieje się na dolnym siderze góra/dół. bind jest przypięty do Frame, która jest wewnątrz Canvas. Więc w chyba nie obejmuje tego slidera. Fajnie by był skroll na dolnym sliderze na lewo/prawo. Podpięcie bind do skrola poziomego nic nie daje.

Pozdrawiam
Radek Glebicki