[python] Thread a wxpython

petr.messner na gmail.com petr.messner na gmail.com
Pátek Březen 31 13:28:18 CEST 2017


Ahoj. Mě ten tvůj příklad moc nefungoval, musel jsem přidat pár volání
metody Show. A i tak ten příklad fungoval jen někdy; sice neznám wx,
ale myslím, že stejně jako u ostatních GUI toolkitů, nelze jen tak
kombinovat volání z různých vláken, tedy přinejmenším bez nějaké
synchronizace, viz dokumentaci wx. Zajímavé je, že mě žádné objekty
nemizely, program spíš SIGSEGoval nebo se špatně vykreslily znaky.

(Snad nevadí, že odpovídám na dva měsíce starý dotaz; neznám místní
zvyklosti.)

P.M.


On 16 Čec, 14:34, vacla... na ondrav.net wrote:
> Zdravím, mám takový problém, když vytvořím jakýkoliv obejekt wxpythonu
> ve vláknu, tak po dokončení toho vlákna zmizí. Já bych potřeboval aby
> zůstal. S vlákny teprve začínám. Jednoduchý příklad:
>
> # -*- coding: utf-8 -*-
> import wx
> import thread
> class Okno:
>     def __init__(self, parent):
>         self.okno=wx.MDIChildFrame(parent,title=u"Test",id=-1)
>         self.okno.Maximize()
>         thread.start_new_thread(self.funkce,())
>     def funkce(self):
>         self.promena=wx.StaticText(self.okno, label=u"Test")
> if __name__ == "__main__":
>     okno = wx.App(0)
>     parent=wx.MDIParentFrame(None,size=wx.Size(500,500))
>     Okno(parent)
>     parent.Show()
>     okno.MainLoop()
>
> Díky za pomoc



Další informace o konferenci Python