QT学习笔记(七)QDataStream传递自定义的数据类型

QT自带的QDataStream只能传递它自己要求的数据类型。但是我们可以自己重载QDataStream& operator<<()和QDataStream& operator>>();


mydatastream.h

[cpp]  view plain  copy
  1. #ifndef MYDATASTREAM_H  
  2. #define MYDATASTREAM_H  
  3.   
  4. #include   
  5.   
  6.     struct UserInfor{  
  7.         QString id;  
  8.         QString state;  
  9.         QString ip;  
  10.         QString port;  
  11.         QString nickName;  
  12.         QByteArray headPhoto;  
  13.         QString discription;  
  14.     };  
  15.   
  16.     inline QDataStream& operator<<(QDataStream& out, const UserInfor& userInfor)  
  17.     {  
  18.         out<
  19.              userInfor.nickName<
  20.         return out;  
  21.     }  
  22.   
  23.     inline QDataStream& operator>>(QDataStream& in,UserInfor& userInfor)  
  24.     {  
  25.         in>>userInfor.id>>userInfor.state>>userInfor.ip>>userInfor.port>>userInfor.nickName  
  26.             >>userInfor.headPhoto>>userInfor.discription;  
  27.        return in;  
  28.     }  
  29.   
  30. #endif // MYDATASTREAM_H  

这样我们就可以传递struct的类型了

我在写银行管理系统中用到的

你可能感兴趣的:(QT)