[PyKDE] Run function in the background

Fabian Steiner lists at fabis-site.net
Mon Feb 19 18:11:42 GMT 2007


Hello!

I am currently working on an application which controls several hosts in 
our network in order to ensure that there are online. This is done by a 
function called checkStatus() that needs to be called every 10 seconds. 
I tried the following (with checkStatus being called in __init__ as 
thread.start_new_thread(self.checkStatus, ()), but it did't work since 
it resulted in a segmentation fault:


[...]
checkStatus(self):
     while 1:
            if check_online('192.168.0.100'):
                self.ui.lblStatus.setText('ON')
                self.ui.btnOn.setEnabled(False)
                self.ui.btnOff.setEnabled(True)
            else:
                self.ui.lblStatus.setText('OFF')
                self.ui.btnOn.setEnabled(True)
                self.ui.btnOff.setEnabled(False)
            time.sleep(10)

Output:
fabi at einstein:~/dev/Server_Control$ python Server_Control.py
QObject: Cannot create children for a parent that is in a different thread.
QObject: Cannot create children for a parent that is in a different thread.
Segmentation fault

Is there any other way which would solve this issue?

Thanks,
Fabian




More information about the PyQt mailing list