什么是tk/tkinter事件类型“Property”,如何使用它?

2024-05-19 13:25:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个画布,每当画布的滚动区域发生变化时,我想运行一个函数。在

通过查看绑定事件的文档,它将属性列为一个事件类型,并定义如下:

Property

A Property event is sent to a window whenever an X property belonging to that window is changed or deleted. Property events are not normally delivered to Tk applications as they are handled by the Tk core.

听起来正是我想要的,但这是我在任何地方能找到的关于这个主题的大部分。。。在

这是什么东西?你怎么用它?在


自己做实验:

  • canvas.bind("<Property-scrollregion>", lambda e: print("Scrollregion has changed! ", e))

    引发错误,说明scrollregion不是属性。

  • canvas.bind("<Property>", lambda e: print("Something changed. ", e))

    对我所做的一切都没有反应。

注意:无论属性事件是我可以或应该实际用于上述任务的东西,这是一个没有实际意义的问题,我主要想填补文档中的这个漏洞。在


Tags: tolambda文档属性isbind画布事件
1条回答
网友
1楼 · 发布于 2024-05-19 13:25:32

我用tk和tkinter已经有将近20年的时间了,我从来都不需要那个活动。它是tk只在基于X-windows(又名X11)的系统上工作时遗留下来的,与今天的情况不太相关。在

注意这个定义是如何具体说明“X属性”的。这里的“X”指的是X窗口系统,X property是一个非常具体的东西,例如窗口颜色映射。虽然确实有少量的X属性名映射到小部件属性名(例如,字体),但它们与小部件属性并不相同。在

底线是,它没有做你认为它做的事。当小部件的属性发生更改时,它不能用于通知您。在

相关问题 更多 >