1. 程式人生 > >QT學習筆記(七)QDataStream傳遞自定義的資料型別

QT學習筆記(七)QDataStream傳遞自定義的資料型別

QT自帶的QDataStream只能傳遞它自己要求的資料型別。但是我們可以自己過載QDataStream& operator<<()和QDataStream& operator>>();

mydatastream.h

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

這樣我們就可以傳遞struct的型別了

我在寫銀行管理系統中用到的