我有一个 PySide 应用程序,它将许多按钮连接到一个函数调用,该函数调用衍生出一堆外部进程(这并不理想,但这是必要的)。
函数调用的运行时间不到四分之一秒,但它仍然为用户提供了超越我的代码的机会,从而导致延迟、冻结或崩溃。
这让我想到了几个问题......
将可调用对象连接到信号究竟意味着什么?假设按钮 A 的点击信号连接了一个 Python 函数 f。如果单击 A,然后在 f 退出之前再次单击,PySide 是否只是将另一个对 f 的调用排队,还是做一些更有趣的事情?
一种可能的解决方案是使 f 与信号断开连接,然后在退出之前重新连接。在我开始重写东西来尝试这个之前,有没有人知道这是否有效,或者是否有更优雅的解决方案?