首页 > 解决方案 > Python Tkinter:按钮不可滚动

问题描述

我有一个关于框架上放置按钮的问题!

我创建了一个画布并在这个画布内放置了一个框架!在画布内,我放置由 tkinters canvas.create_rectangle 绘制的矩形和其他东西,而我将某些小部件(如按钮)放置在框架内。(结果:一个窗口内有多个)

window_canvas = Canvas(root, borderwidth=0, background="grey", width = window_canvas_size[0], height = window_canvas_size[1], highlightthickness=0)

window_frame = Frame(window_canvas, background='white', borderwidth=0, width = canvas_size[0], height = canvas_size[1])

现在我通过以下方式使 window_canvas 可滚动:

def OnMousewheelConfigureProcessCanvas(self, event):
    window_canvas.yview_scroll(int(-1*(event.delta/120)), "units")

window_canvas.bind("<MouseWheel>", m.OnMousewheelConfigureProcessCanvas)

这些按钮可以使用 window_canvas 滚动,当我将光标放在它们之外时,没问题。但是,当我将鼠标光标悬停在按钮上方时,“可滚动性”不再起作用。window_canvas 这次不会对鼠标滚轮做出反应。

我不想为每个按钮创建一个新窗口(通过 canvas.create_window)。我在屏幕上有很多,所以我试图通过在画布内放置一个框架来保持简单!

期待您的解决方案!

谢谢!

标签: pythontkinterbutton

解决方案


推荐阅读