gpt4 book ai didi

Python:在主线程中执行回调方法

转载 作者:行者123 更新时间:2023-11-28 22:45:44 25 4
gpt4 key购买 nike

不想让我的 GUI 卡住,我决定使用一个线程来进行文件操作。目前我正在使用 thread.start_new_thread(self.openFile, (filepath, self.openedFile)) 这样做,self.openedFile 是我的回调方法。在 self.openFile 中,它只是使用 callback(success) 调用。

但不幸的是,我不知道如何在主线程而不是新创建的线程中执行我的回调。这是必需的,因为不能从另一个线程修改 GUI。

非常感谢您的帮助!

最佳答案

拥有 GUI 的线程必须定期检查 Queue.Queue 实例,其他线程可以在该实例上放置工作请求(例如回调函数和它的参数)。

在 GUI 的主循环中插入此类检查的难易程度 100% 完全取决于您使用的 GUI 框架。

例如,如果您使用的是 Tkinter,小部件的 after 方法可让您进行此类定期检查,如 Run an infinite loop in the backgroung in Tkinter 中所述。 .

关于Python:在主线程中执行回调方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28254015/

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