Найти - Пользователи
Полная версия: wxPython help
Начало » GUI » wxPython help
1 2 3
OlDer
http://www.wxpython.org/docs/api/
BJIaquMup
Это всё, опять же, хорошо. Но где взять примеры? А то в теории оно всё красиво… а как на практике.
Андрей Светлов
Базовая примерница - здесь.
Базовый хелп - уже показывали.
Кое-что можно найти в инете просто погуглив.
Дальше, к сожалению, прийдется смотреть самому, читать исходники и думать.
Не стоит надеяться, что все принесут на блюдечке с голубой каемочкой.
BJIaquMup
Да какое там блюдечко! Да ещё и с каёмочкой.
Меня интересует, собственно, теперь только вот эта вещица: self.canvas.after . Какая замена существует в wxPython этому? Весь гугль облазил… Может я что-то недопонимаю?… :(
Андрей Светлов
self.delay = wx.CallLater(1000, self.OnCallback)
OnCallback вызовится через секунду. Опять же - из примерницы взято.
BJIaquMup
Андрей Светлов
self.delay = wx.CallLater(1000, self.OnCallback)
OnCallback вызовится через секунду. Опять же - из примерницы взято.
Python 2.5 на CallLater ругается. Есть только CallAfter.
Я скачал, что Вы посоветовали (wxWidgets 2.8.4). CallLater (CallAfter) там нет. Не знаю, что там за примерница…
Jenyay
У меня есть книжка на английском wxPython in Action. Если надо, могу закачать куда-нибудь.
Jenyay
А вообще еще удобно смотреть справку по wxWidgets.
wNomad
BJIaquMup
Я скачал, что Вы посоветовали (wxWidgets 2.8.4). CallLater (CallAfter) там нет. Не знаю, что там за примерница…
wxPython2.8 Docs Demos and Tools качается и устанавливается отдельно от wxPython

Boт часть из файла Timer.py “примерницы” которая демонстрирует исспользование CallLater:

    # Test 2 shows how to use the wx.CallLater class.

def OnTest2Start(self, evt):
# Call OnTest2Timer one second in the future, passing some
# optional arbitrary args. There is no need to hold a
# reference to this one, unless we want to manipulate or query
# it later like we do in the two methods below
self.t2 = wx.CallLater(1000, self.OnTest2Timer,
'a', 'b', 'c', one=1, two=2)
self.log.write("CallLater scheduled\n")
self.t2b2.Enable()

def OnTest2Stop(self, evt):
self.t2.Stop()
self.log.write("CallLater stopped, last return value was: %s\n" %
repr(self.t2.GetResult()))
del self.t2
self.t2b2.Disable()

def OnTest2Timer(self, *args, **kw):
self.log.write("CallLater called with args=%s, kwargs=%s\n" % (args, kw))

# Normally a FutureCall is one-shot, but we can make it
# recurring just by calling Restart. We can even use a
# different timeout or pass differnt args this time.
self.t2.Restart(1500, "restarted")

# The return value of this function is saved and can be
# retrived later. See OnTest2Stop above.
return "This is my return value"
BJIaquMup
Python 2.5 на CallLater ругается. Есть только CallAfter
У меня установлен Питон2.5 и ВХвиджеты 2.8
В PythonWin в консоли пишу wx. появляется окно с вариантами, есть там и CallLater и СallAfter
Андрей Светлов
BJIaquMup
Python 2.5 на CallLater ругается. Есть только CallAfter.
Я скачал, что Вы посоветовали (wxWidgets 2.8.4). CallLater (CallAfter) там нет. Не знаю, что там за примерница…
Проверял на 2.4 b на 2.5. Работает и там и там, как ни странно.
import wx
help(wx.CallLater)
Примерница - это часть wxPython Docs Demos and Tools. Зовется Run the wxPython Demo. Очень наглядная штука.
CallLater - пример из wxPython overview/Process and Events/Timer.
Кстати, CallLater нужен, чтобы вызвать callback через указанное количество секунд.
CallAfter - сразу же после того, как обработается последнее событие из существующих сейчас в очереди событий. Т.е. - весьма скоро, без зримой задержки.

P.S. Какое-то загадочное отсутствие взаимопонимания…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB