tkinter 滚动条有问题
Having problems with tkinter scrollbar
是的,我只想要一个滚动条,因为我有很多框架,但我只是不知道如何使用它。
我每次都尝试了一些不同的东西,但即使我认为我已经接近了,但它仍然不存在。
在我的代码中,我有一个 canvas 填充主 Tk window 并且在其中 canvas 我在用 for 循环生成的网格中有很多帧。
代码:
import tkinter as to
import tkinter.ttk
def generateFrames(root, o):
pieFrame = Frame(root)
pieFrame.grid(row=int(o/4), column=o%4, padx=25)
mainWindow = tk.Tk()
scrollbar = Scrollbar(mainWindow, orient='vertical')
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
canvas = Canvas(mainWindow, yscrollcommand=scrollbar.set)
scrollbar.config(command=canvas.yview)
canvas.pack(expand=tk.YES, fill=tk.BOTH)
for I in range(16):
generateFrames(canvas, i)
mainWindow.mainloop()
工作代码是:
import tkinter as tk
import tkinter.ttk
def generateFrames(root, o):
pieFrame = Frame(root)
pieFrame.grid(row=int(o/4), column=o%4, padx=25)
mainWindow = tk.Tk()
scrollbar = Scrollbar(mainWindow, orient='vertical')
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
canvas = Canvas(mainWindow, yscrollcommand=scrollbar.set)
scrollbar.config(command=canvas.yview)
canvas.pack(expand=tk.YES, fill=tk.BOTH)
canvas.configure(scrollregion=(0,0,0,2000))
mainFrame = Frame(mainWindow)
mainFrame.pack(fill=tk.BOTH)
for I in range(16):
generateFrames(mainFrame, i)
canvas.create_window(950, 750, window=mainFrame)
mainWindow.mainloop()
是的,我只想要一个滚动条,因为我有很多框架,但我只是不知道如何使用它。 我每次都尝试了一些不同的东西,但即使我认为我已经接近了,但它仍然不存在。
在我的代码中,我有一个 canvas 填充主 Tk window 并且在其中 canvas 我在用 for 循环生成的网格中有很多帧。
代码:
import tkinter as to
import tkinter.ttk
def generateFrames(root, o):
pieFrame = Frame(root)
pieFrame.grid(row=int(o/4), column=o%4, padx=25)
mainWindow = tk.Tk()
scrollbar = Scrollbar(mainWindow, orient='vertical')
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
canvas = Canvas(mainWindow, yscrollcommand=scrollbar.set)
scrollbar.config(command=canvas.yview)
canvas.pack(expand=tk.YES, fill=tk.BOTH)
for I in range(16):
generateFrames(canvas, i)
mainWindow.mainloop()
工作代码是:
import tkinter as tk
import tkinter.ttk
def generateFrames(root, o):
pieFrame = Frame(root)
pieFrame.grid(row=int(o/4), column=o%4, padx=25)
mainWindow = tk.Tk()
scrollbar = Scrollbar(mainWindow, orient='vertical')
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
canvas = Canvas(mainWindow, yscrollcommand=scrollbar.set)
scrollbar.config(command=canvas.yview)
canvas.pack(expand=tk.YES, fill=tk.BOTH)
canvas.configure(scrollregion=(0,0,0,2000))
mainFrame = Frame(mainWindow)
mainFrame.pack(fill=tk.BOTH)
for I in range(16):
generateFrames(mainFrame, i)
canvas.create_window(950, 750, window=mainFrame)
mainWindow.mainloop()