Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #12410
| From | Rob Williscroft <rtw@rtw.me.uk> |
|---|---|
| Subject | Re: Button Label change on EVT_BUTTON in wxpython!!! |
| Date | 2011-08-29 17:46 +0000 |
| References | <aa1212bb-35e5-4bf9-b8ad-7a3c083749c2@x2g2000yql.googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.549.1314640033.27778.python-list@python.org> (permalink) |
Ven wrote in news:aa1212bb-35e5-4bf9-b8ad-7a3c083749c2
@x2g2000yql.googlegroups.com in gmane.comp.python.general:
> So, here is what I did/want:
>
> self.run_button=wx.Button(self.panel,ID_RUN_BUTTON,label='Install')
> self.Bind(wx.EVT_BUTTON, self.OnRun,id=ID_RUN_BUTTON)
>
> def OnRun(self,evt):
> self.run_button.SetLabel('Installing..')
> #call a function that does the installation task
> installation_task()
> #After task completion, set the button label back to "Install"
> self.run_button.SetLabel('Install')
>
> When I try doing this, it doesn't set the label to "Installing" while
> the task is being performed. Any suggestions how do I achieve this?
>
http://wiki.wxpython.org/CallAfter
Using this your OnRun will become somthing like:
def OnRun( self, evt ):
def after():
installation_task()
self.run_button.SetLabel('Install')
self.run_button.SetLabel('Installing..')
wx.Callafter( after )
However if installation_task takes a long time you will need to use
threads, something like (untested):
def OnRun( self, evt ):
def after():
self.run_button.SetLabel('Install')
def task():
installation_task()
wx.Callafter( after )
self.run_button.SetLabel('Installing..')
import threading
threading.Thread( target = task ).start()
Rob.
Back to comp.lang.python | Previous | Next — Previous in thread | Find similar | Unroll thread
Button Label change on EVT_BUTTON in wxpython!!! Ven <praveen.venkata@gmail.com> - 2011-08-28 18:30 -0700 Re: Button Label change on EVT_BUTTON in wxpython!!! Philip Semanchuk <philip@semanchuk.com> - 2011-08-28 22:34 -0400 Re: Button Label change on EVT_BUTTON in wxpython!!! Rob Williscroft <rtw@rtw.me.uk> - 2011-08-29 17:46 +0000
csiph-web