是否可以在tkinter中查看/打印以控制台空闲队列



在tkinter GUI中,哪些是挂起的事件和空闲回调?这个问题询问tkinter中有哪些挂起的事件和空闲回调,我想知道是否有办法将事件/空闲队列打印到控制台或跟踪日志。

我能想到的唯一潜在解决方案是下面的代码,但我想知道是否有更简单的方法。

import tkinter as tk
root = tk.Tk()
# Some widgets
for foo in range(5):
tk.Button(root, text="Press Me!").pack()
# Bind all widgets to print events
widgets = root.winfo_children()
def event_print(event):
print(event)
events = [
"<Button>",
"<Motion>",
"<ButtonRelease>",
"<Double-Button>",
"<Enter>",
"<Leave>",
"<FocusIn>",
"<FocusOut>",
"<Return>",
"<Key>",
"<Shift-Up>",
"<Configure>",
]
for widget in widgets:
for event in events:
widget.bind(event, event_print)
root.mainloop()

我想知道是否有办法将事件/空闲队列打印到控制台或跟踪日志。

不,没有。至少,在不使用C编写自己的代码的情况下,可以连接到底层的tcl解释器中。

你在问题中提出的解决方案也不会100%奏效。有许多事件是由tk库本身添加到队列中的。

最新更新