gpt4 book ai didi

python - 如何在 tkinter 中发出事件?

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:27 25 4
gpt4 key购买 nike

我有一个用 python3 和 tkinter 模块编写的简单应用程序。我想编写我的自定义小部件并需要发送我的自定义事件。

为什么下面的示例代码不起作用?

#!/usr/bin/env python3

from tkinter import *

class MyWidget(Listbox):
def __init__(self, master, *args, **kwargs):
super().__init__(master, *args, **kwargs)

# ===================
# error: _tkinter.TclError: only one event specification allowed
self.bind('<<ListboxSelect>>', lambda e: self.event_generate('MyEvent'))
# ===================


class App(Tk):
def __init__(self):
super().__init__()
w = MyWidget(self)
w.bind('MyEvent', lambda e: print('It\'s working'))
w.pack()

w.insert(END, 'ddddddd')


if __name__ == '__main__':
app = App()
app.mainloop()

最佳答案

虚拟事件需要用<<包围和 >> .只需替换 'MyEvent'通过 '<<MyEvent>>'并且您的自定义事件应该有效。

关于python - 如何在 tkinter 中发出事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47656152/

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