[PyQt] QAbstractSocket usage problem, what am I doing wrong?
Jens Jorgensen
jbj1 at ultraemail.net
Sun May 17 09:17:38 BST 2009
Hello,
I have a small application that provides some glue between Skype and an
external usb "phone" device. I originally wrote this application under
gtk and am porting it to kde/qt. Everything worked fine under gtk so
there's no problem with the non-framework-related logic. The phone has
buttons on it that I read from a hidraw device (character device). It
looks like the right way to get read events for this is to use
QAbstractSocket:
def open_phone_hid(self, path) :
if path == tjphone_hal_udi :
iobj =
dbus.Interface(system_bus.get_object("org.freedesktop.Hal",
tjphone_hal_udi), 'org.freedesktop.Hal.Device')
self.fd =
os.open(str(iobj.GetProperty('linux.device_file')), os.O_RDONLY)
self.src_id =
QtNetwork.QAbstractSocket(QtNetwork.QAbstractSocket.UnknownSocketType,
None)#gobject.io_add_watch(self.fd, gobject.IO_IN, self.tj_phone_input)
self.src_id.setSocketDescriptor(self.fd)
self.connect(self.src_id, QtCore.SIGNAL('readyRead()'),
self.tj_phone_input)
self.numbers = ''
self.printmsg('TJPhone on')
return True
So the above code executes fine, but when I press a button on the phone
the console I am running the script from fills with this message,
repeating endlessly:
QNativeSocketEngine::hasPendingDatagrams() was called by a socket other
than QAbstractSocket::UdpSocket
My function tj_phone_input is never called. Is there perhaps a problem
in the QAbstractSocket code itself or am I doing something wrong?
--
Jens B. Jorgensen
jbj1 at ultraemail.net
More information about the PyQt
mailing list