这个警告可能是由KDE的代码引起的。可能的原因:从TCP数据流中读取QImage时,QT会猜测该QImage实例所使用的图形格式,而具体对图形格式进行测试的代码是位于KDE中。KDE中的ras图形处理器在接受猜测(bool RASHandler::canRead(QIODevice *device))时,如果发现所传入的设备是序列化的,则会输出这样一个警告。不影响使用,然而很烦人。
解决办法就是使用QImageReader来从TCP数据流中读取QImage,并且指明图片的格式。当前,在数据流的那一端,也要用QImageWriter来写入数据,并且指明相同的图片格式。这样就不会去猜测图片的格式,不会有这个警告。
参考:
HxLauncher: Launch Android applications by voice commands