zoukankan      html  css  js  c++  java
  • 如何打印Qt中的枚举所对应的字符串

    比如,想获得socket的状态枚举文字,

    代码如下:

        QMetaObject mo=QAbstractSocket::staticMetaObject;
        int index=mo.indexOfEnumerator(QString("SocketState").toLatin1().data());
        QMetaEnum socketStatusEnum = mo.enumerator(index);
        qDebug()<<socketStatusEnum.keyCount();
        for (int i=0; i<socketStatusEnum.keyCount(); ++i)
        {
            qDebug()<<socketStatusEnum.key(i);
        }

    输出为:

    Starting F:exerciseuild-untitled19-Desktop_Qt_5_4_0_MinGW_32bit-Debugdebuguntitled19.exe...
    7
    UnconnectedState
    HostLookupState
    ConnectingState
    ConnectedState
    BoundState
    ListeningState
    ClosingState

    当想要输出当前socket的状态的时候,可以看下面代码

    QTcpSocket *socket=new QTcpSocket;
        QAbstractSocket::SocketState socketState=socket->state();
    
        const QMetaObject & mo = QAbstractSocket::staticMetaObject;
        QMetaEnum me = mo.enumerator(mo.indexOfEnumerator("SocketState"));
        qDebug()<<me.valueToKey(socketState);

    输出为

    Starting F:exerciseuild-untitled10-Desktop_Qt_5_4_0_MinGW_32bit-Debugdebuguntitled10.exe...
    UnconnectedState

    转自:http://blog.csdn.net/u012199908/article/details/50325571

  • 相关阅读:
    php上传文件大小修改
    flex布局
    restful
    mysql之windows忘记密码
    mysql常用命令
    比较级浅析1
    一般副词的位子
    still讲解
    英语学习法
    as的如下用法
  • 原文地址:https://www.cnblogs.com/liushui-sky/p/5822224.html
Copyright © 2011-2022 走看看