gpt4 book ai didi

python - 如何从 tkinter 中的绑定(bind)回调中获取回调引用?

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:28 31 4
gpt4 key购买 nike

我有以下问题:我需要将小部件从一个容器移动到另一个容器。我主要通过复制小部件以及该小部件中包含的所有内容并删除原始小部件来实现它。

唯一要解决的问题是将回调绑定(bind)到原始小部件的情况,除非我可以获得对回调函数的引用,否则我无法将其重新绑定(bind)到新的小部件。

例如:

import tkinter as tk


def callback(ev):
print('entered')

root = tk.Tk()
frame = tk.Frame(root)
frame.bind('<Enter>', callback)
print(frame.bind()) # ('<Enter>', )
print(frame.bind('<Enter>') # 'if {"[64351688callback %# %b %f %h %k %s %t %w %x %y %A %E %K %N %W %T %X %Y %D]" == "break"} break\n'

由于 widget.bind(key) 不返回对回调函数的引用,我还可以如何获取该引用而不必直接挂接到 bind方法?

最佳答案

使用 print( tk.__file__ ) 您可以获得源代码的路径并查看它是如何工作的。

在源代码中我发现你可以使用这个字符串作为回调

'if {"[64351688callback %# %b %f %h %k %s %t %w %x %y %A %E %K %N %W %T %X %Y %D]" == "break"} break\n'

所以你可以这样做

other_frame.bind('<Enter>', frame.bind('<Enter>'))

关于python - 如何从 tkinter 中的绑定(bind)回调中获取回调引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59337844/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com