私は非常に単純なクライアント/サーバアプリケーションを、Pythonでネットワーク/ GUIプログラミングを学ぶための言い訳として書いています。現時点では、ログイン・フレームからアプリケーションのメイン・フレームへの移行に悩まされています。wxPythonのクローズとオープニングフレーム
ログインフレームはwx.Frameのサブクラスであり、基本的に私はそれを閉じて、それがサーバーからの確認を受信したときにメインフレームをオープンしたい:
def handleServerSignon(self, msg):
if msg.getCode() == net.message.HANDLE_IN_USE:
self.status.SetStatusText('Handle already in use')
elif msg.getCode() == net.message.SIGNON_SUCCESSFUL:
self.Close()
mainWindow = wx.Frame(None, wx.ID_ANY, 'main window', wx.DefaultPosition, \
(640, 480))
mainWindow.Show(True)
私もこれを取得することはできませんしかし、一貫したエラーメッセージを与えるために...時にはそれが時にはそれは次のようにクラッシュし、動作します:
のpython:../../src/xcb_io.c:242: process_responses:アサーション `(( (long) (dpy-> last_request_read) - (long) ( dpy-> request))< = 0) 'が失敗しました。
ご協力いただきありがとうございます。
ウォーカー
しばらくしてwxpythonを実行していないのですが、ログインウィンドウを閉じる前にメインウィンドウを作成して表示するとどうなりますか? – Ravi
同じこと、毎回動作し、3/4程度の時間がクラッシュします。 –
このネットワークコードは別のスレッドまたはGUIスレッド上で実行されますか?メインのGUIスレッドでのみwx呼び出しを行うことができます。 – FogleBird