StupidBeauty
Read times:572Posted at:Thu Jun 21 05:15:15 2012
- no title specified

QJson与quint16

QJson好象是不支持quint16类型的属性的,这只是本座的猜测。如果一个QObject派生类的属性中有类型为quint16的属性的话,则使用QJson序列化之后,得到的是一个空字符串。遇到这种问题,将quint16类型的属性改成int类型就可以咯。

例如:

这样的对象序列化后是空的:

class TunnelResultObject : public QObject

{

Q_OBJECT

Q_PROPERTY ( bool Success READGetSuccessWRITESetSuccess) //!<隧道开启是否成功。

Q_PROPERTY ( quint16 Port READGetPortWRITESetPort) //!<隧道的端口号。

public :

quint16 GetPort(); //!<获取隧道的端口号。

bool GetSuccess(); //!<获取隧道开启是否成功的状态信息。

void SetPort( quint16 UserId); //!<设置端口号。

void SetSuccess( bool PswdIsRt); //!<设置隧道开启是否成功。

explicit TunnelResultObject ( QObject *parent = 0 );

private :

bool Success ; //!<隧道开启是否成功。

quint16 Port ; //!<隧道的端口号。

};

而这样的对象序列化之后是正常的:

class TunnelResultObject : public QObject

{

Q_OBJECT

Q_PROPERTY ( bool Success READGetSuccessWRITESetSuccess) //!<隧道开启是否成功。

Q_PROPERTY ( int Port READGetPortWRITESetPort) //!<隧道的端口号。

public :

quint16 GetPort(); //!<获取隧道的端口号。

bool GetSuccess(); //!<获取隧道开启是否成功的状态信息。

void SetPort( quint16 UserId); //!<设置端口号。

void SetSuccess( bool PswdIsRt); //!<设置隧道开启是否成功。

explicit TunnelResultObject ( QObject *parent = 0 );

private :

bool Success ; //!<隧道开启是否成功。

quint16 Port ; //!<隧道的端口号。

};

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4