如何在QSettings中存储自定义类型?

时间:2012-07-13 07:40:19

标签: qt

来自API文档:

  

使用qRegisterMetaType()和注册的自定义类型   可以使用QSettings存储qRegisterMetaTypeStreamOperators()。

我该怎么做?我收到错误:

  

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");

1 个答案:

答案 0 :(得分:4)

qRegisterMetaTypeStreamOperators是一个函数,而不是宏。

您需要从.cpp文件中调用它,例如在你的main()方法

相关问题