悄然无声的 Blog
不是我不明白,这世界变化快!
posts - 113,comments - 713,views - 34万

{{{wxPython 程序在调试过程中经常会出现这种情况:一个白色的窗口一闪就结束了,到底程序哪里出了问题根本看不清楚,而控制台窗口什么提示也没有。

 

会出现这种问题是因为在 Windows 平台下 wxPython 会将输出流定向到一个默认的窗口中,如果我们想留住这个窗口看清里面的错误信息,在运行程序的时候可以加一个 i 参数,如下:

python  -i   test.py

 

但是大多数时候我们还是希望在控制台窗口里看见错误信息,毕竟控制台窗口比较简单,交互性强,为了达到这个目的,就需要重定向 wx.App 的输出。}}}

 

{{{我们可以先看一下 wx.App 的构造函数:

 __init__(selfredirect=Falsefilename=NoneuseBestVisual=FalseclearSigInt=True) 

 

注意第二个参数 redirect ,这个参数在文档说明中默认是 False ,但实际上默认值是 True ,具体是版本的原因还是平台的原因我也不知道。

这种情况下如果我们像这样创建应用程序对象:

app=wx.App( )

则默认系统输出被重定向,就会出现错误信息窗口一闪而过的情况。

 

如果我们像下面这样创建:

app=wx.App(False)

或者

app=wx.App(redirect=False)

则重定向被关闭,所有输出都定向到标准输出,即控制台窗口,这样就达到了目的。

 

另外还有第二个参数 filename ,如果在 redirect = True  重定向被打开的情况下,设定 filename 将会是所有的输出定向到你指定的这个文本文件中,对于一些就复杂的调试,这是十分有用的。

 

}}}

//==========================================
posted on   左洸  阅读(1388)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
< 2011年2月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 1 2 3 4 5
6 7 8 9 10 11 12

点击右上角即可分享
微信分享提示