通常情况下,我不会回答没有研究或实验迹象的问题,但很明显,您正在苦苦挣扎。下面是一个 1000x1000 画布在 500x500 窗口中的示例,其中带有一些随机矩形来说明滚动是有效的。
import tkinter as tk
import random
root = tk.Tk()
canvas = tk.Canvas(root, width=500, height=500, scrollregion=(0,0,999,999), bg="black")
vsb = tk.Scrollbar(root, orient="vertical", command=canvas.yview)
hsb = tk.Scrollbar(root, orient="horizontal", command=canvas.xview)
canvas.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set)
root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)
vsb.grid(row=0, column=1, sticky="ns")
hsb.grid(row=1, column=0, sticky="ew")
canvas.grid(row=0, column=0, sticky="nsew")
for i in range(100):
color = random.choice(("red", "orange", "yellow", "green", "blue", "violet"))
width = random.randint(20, 100)
height = random.randint(20, 100)
x0 = random.randint(10, 990-width)
y0 = random.randint(10, 990-height)
canvas.create_rectangle(x0, y0, x0+width, y0+height, outline='white', fill=color)
root.mainloop()