在不向左移动小部件的情况下在 tKinter 中创建滚动条 (python)
Create scrollbar in tKinter without displacing widgets to the left (python)
我正在通过学习 youtube 教程来创建程序(我是一个完全的初学者),但我遇到了一些困难。这一次,我试图创建一个滚动条,我希望我的小部件保持在 window 的中心,而不是左侧(我正在学习 Codemy.com 滚动条教程)。
这是我程序的当前方面:
with scrollbar
这是我想要的样子:
without scrollbar
这是我现在的代码:
import tkinter as tk
root = tk.Tk()
root.geometry("600x400")
my_canvas = tk.Canvas(root)
my_canvas.pack(side = "left", fill = "both", expand = 1)
my_scrollbar = tk.Scrollbar(root, orient = "vertical", command = my_canvas.yview)
my_scrollbar.pack(side = "right", fill = "y")
my_canvas.configure(yscrollcommand = my_scrollbar.set)
my_canvas.bind("<Configure>", lambda e: my_canvas.configure(scrollregion = my_canvas.bbox("all")))
my_frame = tk.Frame(my_canvas)
for i in range(100):
my_label = tk.Label(my_frame, text = "Label")
my_label.pack()
my_canvas.create_window((0,0), window = my_frame, anchor = "nw")
root.mainloop()
在 my_canvas 声明中包含 width = 600, anchor = "nw"
。
my_canvas.create_window((0,0), window = my_frame, width = 600, anchor = "nw")
我正在通过学习 youtube 教程来创建程序(我是一个完全的初学者),但我遇到了一些困难。这一次,我试图创建一个滚动条,我希望我的小部件保持在 window 的中心,而不是左侧(我正在学习 Codemy.com 滚动条教程)。
这是我程序的当前方面: with scrollbar
这是我想要的样子: without scrollbar
这是我现在的代码:
import tkinter as tk
root = tk.Tk()
root.geometry("600x400")
my_canvas = tk.Canvas(root)
my_canvas.pack(side = "left", fill = "both", expand = 1)
my_scrollbar = tk.Scrollbar(root, orient = "vertical", command = my_canvas.yview)
my_scrollbar.pack(side = "right", fill = "y")
my_canvas.configure(yscrollcommand = my_scrollbar.set)
my_canvas.bind("<Configure>", lambda e: my_canvas.configure(scrollregion = my_canvas.bbox("all")))
my_frame = tk.Frame(my_canvas)
for i in range(100):
my_label = tk.Label(my_frame, text = "Label")
my_label.pack()
my_canvas.create_window((0,0), window = my_frame, anchor = "nw")
root.mainloop()
在 my_canvas 声明中包含 width = 600, anchor = "nw"
。
my_canvas.create_window((0,0), window = my_frame, width = 600, anchor = "nw")