无法抬起可滚动框架(tkinter)

时间:2018-08-11 00:44:49

标签: python-3.x tkinter scrollbar tkinter-canvas

我遇到的问题是在创建tkinter后试图在其上举起“可滚动框架”。我从父窗口启动程序,然后创建所需的所有框架,并根据需要将其提升到堆栈的顶部。但是对于可滚动框架,我需要将其放在画布中,因为该框架没有滚动条小部件。

我尝试了tag_raise(),tkraise(),lift(),但似乎都没有作用。我正在努力解决此问题,因为IDLE没有给我错误报告,每次尝试抬高画布或框架时,外壳都保持空白。该程序肯定没有冻结,因为在尝试抬高画布后,我仍然可以返回到以前的菜单。

下面是代码的高度抽象版本,框架内有一个标题和10个按钮,框架在画布内。所有小部件都在“ frameConfig”内创建。父/根作为参数传递。

def onFrameConfigure(canvas):
    canvas.configure(scrollregion=canvas.bbox("all"))
def frameConfig(parent):
    canvas = tk.Canvas(parent, borderwidth=0)
    frame = Frame(canvas)
    vsb = tk.Scrollbar(canvas, orient="vertical", command=canvas.yview)
    canvas.configure(yscrollcommand=vsb.set)
    vsb.pack(side = "right", fill = "y")
    canvas.pack(side = "left", fill = "both", expand = True)
    canvas.create_window((0,0), window = frame, anchor = "nw")
    frame.bind("<Configure>", lambda event, canvas=canvas: makeTeam.onFrameConfigure(canvas))
    frame.config(bg = "azure")
    frame.pack(fill = BOTH)
    frame.place(relwidth = 1.0, relheight = 1.0)
def open():
    frame.tkraise()

在启动时调用“ frameConfig”,并在需要升高框架时调用“ Open”。我要实现的是像其他所有框架一样,能够升高和降低“可滚动框架”。预先谢谢你。

0 个答案:

没有答案