1

当我运行 wxPython 应用程序时,它会打印字符串“将输出重定向到 win32trace 远程收集器”,我必须打开 PythonWin 的跟踪收集器工具才能查看该跟踪输出。

由于我对收集此输出不感兴趣,我应该如何禁用此功能?

4

3 回答 3

2

您甚至可以在实例化 wx.App() 时传递它:

if __name__ == "__main__":
    app = wx.App(redirect=False) #or 0
    app.MainLoop()

wxPython wx.App 文档

于 2008-11-20T21:38:55.360 回答
1

这条消息让我误以为 win32trace 阻止我在常规控制台(我的 IDE)中看到未捕获的异常。真正的问题是 wxPython 默认将 stdout/stderr 重定向到一个弹出窗口,该窗口在未捕获的异常后迅速消失。为了解决这个问题,我只需要通过

重定向=0
到我的应用程序的超类构造函数。

class MyApp(wx.App):
    def __init__(self):
        # Prevent wxPython from redirecting stdout/stderr:
        super(MyApp, self).__init__(redirect=0)

尽管进行了修复,但我仍然对如何控制 win32trace 感到好奇。

于 2008-11-20T21:34:17.820 回答
1

这似乎是TortoiseHG的问题。使用 win32gui.GetOpenFileNameW 时也会发生这种情况。卸载解决了这个问题。不幸的是,我没有找到真正的解决方案来解决这个问题。

于 2009-07-21T15:51:39.520 回答