読者です 読者をやめる 読者になる 読者になる

wx.PySimpleApp() と wx.App()

wxPython Python

wx.App()とwx.PySimpleApp()の違いを調べていると、
wxPython Style Guide - wxPyWikiを見つけた。
これの6項目を見ると、

6. wx.App() now has the same built in functionality as wx.PySimpleApp(),

so there is no need for the latter.
Note: The above is not true on MacOS X. When using wx.App, tracebacks are shown in a dialog which instantly disappears as your app dies (unless run with pythonw -i). With wx.PySimpleApp, tracebacks go to stdout.

と書かれている。

訳すと

現在では、wx.App()とwx.PySimpleApp()は同じ機能をもっており、wx.PySimpleAppは要らない子だ。
ただしMacOS Xではwx.App()を使うとtraceback画面が一瞬で消えてしまうけど、
wx.PySimpleApp()では標準出力してくれるから、wx.PySimpleApp()を使ってね。

というところか。

しかし、Winでもwx.App(True)にしてるとtracebacks画面一瞬で消えるし、wx.PySimpleApp()使った方がいいと思った。wx.App(False)にしとくと標準出力してくれるけれど、wx.PySimpleApp()つかうとTrueとかFalseとか書かなくていいし、初心者がハマらなくなる。

多分、macではwx.App(False)にしてもtracebacks画面一瞬で消えるってことなのかなあ。

tracebacks画面の表示に関してはWin、Mac両方でwx.PySimpleApp()の方が優秀だと思うし、両方でwx.PySimpleApp()使うほうがいいと思った。