如何抑制来自wxWidgets/wxPython应用程序的Gtk警告?

如何抑制来自wxWidgets/wxPython应用程序的Gtk警告?,wxpython,wxwidgets,Wxpython,Wxwidgets,wxWidgets项目在Linux中使用GTK,我的基于wxPython的应用程序和基本组件会产生很多警告和错误,作为python程序员/最终用户,我对此没有太多的事情要做 这些错误分散了我的标准流,对我的程序来说并不是致命的。在我的例子中,常见的是: (python2.6:9886): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -4 and height 13 (pytho

wxWidgets项目在Linux中使用GTK,我的基于wxPython的应用程序和基本组件会产生很多警告和错误,作为python程序员/最终用户,我对此没有太多的事情要做

这些错误分散了我的标准流,对我的程序来说并不是致命的。在我的例子中,常见的是:

(python2.6:9886): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -4 and height 13
(python2.6:9886): Gtk-CRITICAL **: gtk_widget_is_ancestor: assertion `ancestor != NULL' failed

从我的角色中抑制这种第三方错误是否是一种糟糕的做法?这是如何做到的呢?

只需将stderr重定向到其他地方

import sys
sys.stderr = open("some path")

或者,您可以重定向到一个具有不执行任何操作的Write方法的类。

它不是来自wxPython,而是来自GTK本身。您可以通过确保在创建控件时大小值使用正值(或-1表示“任意”)来修复第一个值

我不太确定第二个问题——你能指出是什么小部件/事件触发了它吗?
我在打印时遇到了一个错误,那是因为没有正确设置罩杯。

这不起作用。在代码< > WX.App之前我尝试重定向,我尝试在我的代码> WX.Frase<代码> >代码> IITSITO< <代码>中无效。HMM..必须在WX的C++部分中被重定向,而不是Python部分。试着在wxPython的官方邮件列表上写一行。他们会有主意的。每次我在wx.Notebook中切换选项卡时,第二个错误会弹出两次。但也有其他情况。我很欣赏你对GTK工作原理的了解,但我不确定我是否想继续取悦GTK诸神,而不是专注于pythonWell。事实上,你正在创建一个宽度为-4的控件,这表明你做错了什么;)。啊…笔记本-你确定你笔记本的孩子的父母设置正确吗?你不能压制它们——例如,从命令行打开Nautilus通常会显示GTK警告——但它们不是由程序生成的,比如说。