首页 > 解决方案 > 在 tkinter 上将垂直滚动条调整为帧大小

问题描述

我目前正在开发 tkinter 上的篮球统计应用程序。它要求用户将一堆数据输入到许多条目中,例如数据表。但是,它迫使我在创建表格时使用该.grid选项而不是.pack(), 。

我制作了我的程序代码的简短版本。在其中,我使用 Canvas 小部件的 create_window 选项制作了一个“可滚动框架”。我的问题是我无法将滚动条设置为与框架一样长。

from tkinter import*
import tkinter.ttk as ttk 
from ttkthemes import themed_tk as tk


raiz=tk.ThemedTk()
raiz.title("StatsApp")

tab_parent=ttk.Notebook(raiz)
tab2=ttk.Frame(tab_parent, width=1064, height=800)
tab_parent.add(tab2, text="Individuales")
tab_parent.pack(expand=1, fill="both")

experimento=Canvas(tab2)
scrollbarexperimento=ttk.Scrollbar(tab2, orient="vertical", command=experimento.yview)
scrollableframe=ttk.Frame(experimento)

for i in range(20):
    Label(scrollableframe, text='label %i' % i).pack()

experimento.configure(yscrollcommand=scrollbarexperimento.set)
experimento.create_window((0, 0), window=scrollableframe, anchor="nw")
experimento.update_idletasks()
experimento.configure(scrollregion=experimento.bbox('all'),
                      yscrollcommand=scrollbarexperimento.set)
experimento.grid(row=0, column=0, rowspan=200)

scrollbarexperimento.grid(row=0, column=20, sticky=E, rowspan=30)
raiz.mainloop()  

这是我的问题的屏幕截图:

我的问题

任何想法?我将不胜感激任何帮助。谢谢!

标签: pythontkinter

解决方案


推荐阅读