2012-07-13 74 views
3

從API文檔:如何在QSettings中存儲自定義類型?

Custom types registered using qRegisterMetaType() and qRegisterMetaTypeStreamOperators() can be stored using QSettings.

我怎麼能這樣做?我得到的錯誤:

too few template-parameter-lists at qRegisterMetaTypeStreamOperators

我的代碼:

class LineUser { 
public: 
    int uId; 
    QString passwd; 
    qint8 statusType; 
}; 

Q_DECLARE_METATYPE(LineUser) 
QDataStream &operator<<(QDataStream &out, const LineUser &myObj) { 
    out<<myObj.uId<<myObj.passwd<<myObj.statusType; 
    return out; 
} 
QDataStream &operator>>(QDataStream &in, LineUser &myObj) { 
    in>>myObj.uId>>myObj.passwd>>myObj.statusType; 
    return in; 
} 
qRegisterMetaTypeStreamOperators<LineUser>("LineUser"); 

回答

4

qRegisterMetaTypeStreamOperators是一個函數,而不是宏。

您需要從.cpp文件(例如,在你的main()方法中

+0

謝謝......但是它創建了一個新的錯誤:'stream << * t'中'operator <<'不匹配... – 2012-07-13 08:31:06

+0

嘗試在main中定義運算符函數。 cpp以及..在運營商呼叫之前<< – 2012-07-13 08:44:12

+0

也許你還需要'#include '如果你還沒有做到這一點 – 2012-07-13 08:47:56

相關問題