wxPython 笔记(11)重定向程序输出到标准控制台窗口

本文介绍如何在wxPython中解决程序闪退的问题,并提供调整wx.App构造函数参数的方法,以实现控制台错误信息显示及文件记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

{{{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 将会是所有的输出定向到你指定的这个文本文件中,对于一些就复杂的调试,这是十分有用的。

 

}}}

//==========================================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值