Hi all,
I have a little problem with Python apps. Say I have a trivial PyQt application in /root/test.py:#!/usr/bin/python
import sys
from qt import *
from qtpe import *
class MyWin(QVBox):
def __init__(self, parent):
QVBox.__init__(self, parent)
self.setCaption('Test')
label = QLabel(self)
label.setText('Hello, world!')
app=QPEApplication(sys.argv)
win=MyWin(None)
app.setMainWidget(win)
win.show()
app.exec_loop()I type chmod +x test.py and then ./test.py . The app runs OK but when I open another konsole session and type qcop QPE/Application/test.py 'quit()' it doesn't come through.
How do I know that QPE/Application/test.py is the right channel? When the app starts the file /tmp/qcop-msg-test.py is created. I also tried other channels like QPE/Application/python but the results are the same. The funniest thing, though, is that when I say qcop QPE/System 'quit()' the app does quit - and it is the only one to do so! Konsole continues to run, as well as the rest of Opie.
This is a major problem because the taskbar uses qcop to raise() an application when you tap its taskbar icon. So when I set up my app to be launched through an icon, it misbehaves: once it's "minimized" e.g. by pressing the Home button, there is no way to bring it back up - it has to be shut down with SIGTERM.
What I think is happening is that either the app fails to actually create a QCop channel or it creates a different one than Qtopia/Opie expects. Can anyone tell me how to find out the name of the channel a QPEApplication creates? Thanks in advance.
z.