Я работаю над написанием очень простого клиент-серверного приложения в качестве предлога, чтобы начать изучать программирование сети/gui в python. На данный момент я застрял при переходе с моего фрейма входа в основной фрейм приложения.Закрытие и открытие фреймов в 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)
Я даже не могу получить это дать сообщение об ошибке последовательной, хотя ... иногда это работает, иногда она падает со следующим:
питона: ../../src/xcb_io.c:242: process_responses: Утверждающие `(((длинный) (dpy-> last_request_read) - (длинный) (d py-> request)) < = 0).
Любая помощь очень ценится!
Walker
Я не проработал какое-нибудь wxpython, но что произойдет, если вы создадите и покажете главное окно перед закрытием окна входа? – Ravi
То же самое, он работает каждый раз в то время и падает 3/4 или около того времени. – 2009-05-20 00:15:43
Этот сетевой код работает в отдельном потоке или потоке графического интерфейса? Вы можете делать только wx-вызовы в главном потоке графического интерфейса. – FogleBird