如何使点击事件通过tkinter窗口?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使点击事件通过tkinter窗口?相关的知识,希望对你有一定的参考价值。

我一直在使用tkinter来制作叠加层,因此一些信息会显示在屏幕的其余部分之上。

我宁愿没有这个窗口挡住鼠标。我有什么方法可以拥有它所以点击事件通过我的叠加?所以我的tkinter app下面的窗口收到了这个事件。

答案

不,tkinter没有内置任何东西可以让你做到这一点。您可能希望获得的最佳效果是捕获事件,然后使用某种特定于平台的工具来创建新事件,并使用捕获事件中的坐标生成新的非tkinter事件。

另一答案

正如其他答案所述,我认为不可能通过Tkinter完成,但是,您可以使用win32使窗口能够被点击。 VRage在对这篇文章的评论中回答得很好:

Tkinter see through window not affected by mouse clicks

另一答案

一种方法是使用轻量级调用者和调度程序构建自己的msg队列,以处理msg和widget的状态。这个类或函数通常没有这样的名称作为队列管理器,因为后端类是应用程序的通用项。添加到简单的事件传输队列可以完成这一点,这正是我现在正在做的事情。

以上是关于如何使点击事件通过tkinter窗口?的主要内容,如果未能解决你的问题,请参考以下文章

如何将点击事件绑定到 Tkinter 中的画布? [关闭]

如何使鼠标事件透过JFrame窗口

2 TKinter绑定事件

python tkinter, 通过lambda表达式传递参数到按钮的点击事件函数

python_tkinter_鼠标点击事件

Python tkinter点击事件未处理