捕获PyGTK中gtk.Builder.connect_signals的运行时警告

1 投票
1 回答
808 浏览
提问于 2025-04-16 07:46

当使用gtk.Builder.connect_signals()时,如果没有找到信号处理器,就会出现一个运行时警告:

__init__.py:16: RuntimeWarning: missing handler 'on_window_destroy'
  self.builder.connect_signals(self)

我该如何避免这个警告,并自己处理它呢?

我希望这个警告不被打印出来(而不需要用户将其重定向到/dev/null)

注意:我不是在询问这个警告是什么意思,而是想知道如何处理这个警告,就像处理异常一样。目前,似乎唯一发生的事情就是在标准错误输出中显示一条消息,而我在程序中对此无能为力。

1 个回答

1

你可以使用这个叫做 warnings 的模块

不过在这种情况下,我觉得检查一下 connect_signals 的返回值会更简单。从文档中可以看到:

如果有至少一个处理器缺失,connect_signals 会返回一个包含这些处理器名字的列表,否则返回值就是 None。

撰写回答