gpt4 book ai didi

python - 为什么我会收到两个链接的 gtk 切换按钮的运行时错误?

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:01 25 4
gpt4 key购买 nike

我有两个切换按钮,我想将它们链接在一起,以便按下一个可以释放另一个。所以我的信号看起来像这样

def on_btn1_tgl_clicked(self, widget, data=None):
toggled = not self.btn2_toggle.get_active()
self.btn2_toggle.set_active(toggled)

def on_btn2_tgl_clicked(self, widget, data=None):
toggled = not self.btn1_toggle.get_active()
self.btn1_toggle.set_active(toggled)

这似乎和我预期的一样工作,只是当我运行代码时出现这个错误

Error in sys.excepthook:

RuntimeError

Original exception was:

RuntimeError

按钮工作正常,没有崩溃,但我不知道为什么会出现错误,也不知道它意味着什么。如果我不链接按钮,我不会收到任何错误。

有人知道如何解决这个问题吗?

最佳答案

当我运行你的代码时,我得到了这个异常:

RuntimeError:超出最大递归深度 并且按钮不起作用。

我的解释是:

  1. 当您点击按钮 1 时,它会发出 toggled 信号并执行您的 on_btn1_tgl_clicked() 方法。

  2. 在此方法中,您使用 gtk.ToggleButton.set_active() 发出一个 toggled 信号,调用您的 on_btn2_tg1_clicked() 方法,它也发出一个 toggled 信号。

    因此,我们进入了无限循环。这就是引发异常的原因。

关于python - 为什么我会收到两个链接的 gtk 切换按钮的运行时错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7941341/

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