比如,想获得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:\exercise\build-untitled19-Desktop_Qt_5_4_0_MinGW_32bit-Debug\debug\untitled19.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:\exercise\build-untitled10-Desktop_Qt_5_4_0_MinGW_32bit-Debug\debug\untitled10.exe...
UnconnectedState

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

如何打印Qt中的枚举所对应的字符串相关推荐

  1. qt中十进制转换为十六进制和二进制字符串,以及二进制字符串转十进制,十六进制字符串

    概述 直接上代码,记录一下,方便日后使用: 示例一 将十进制转换为二进制和十六进制字符串: int num = 23; QString str = QString::number(num,16);// ...

  2. Qt中关于qDebug的使用

    在项目的开发中,当我们调试程序时,最常用的就是打印信息了,Qt为我们提供了非常方便的打印信息类QDebug. 大家应该已经很熟练的使用QDebug了,但也许有些地方并没有注意到,下面小豆君就介绍一下Q ...

  3. Qt中的消息通知和事件发送

    Qt 中的信号和槽机制.事件机制是其具有特色的两大机制.利用这两种机制可以轻松地实现需要的消息通知和事件通知. 1.信号和槽机制 充分使用 Qt 库中已经定义和实现好的对象的信号和槽函数,如按钮的 c ...

  4. C++ Qt学习笔记(3)QT中的文本处理

    1. 富文本和纯文本的概念: 纯文本: 例如一个txt文件打开,里面只有文本内容,除此之外什么都没有,非常单调,这既是纯文本. 富文本:   例如一个.doc的word文件,打开之后,不但有文字,还有 ...

  5. Qt中的测试 枚举与 QFlags详解

    传统的 C++ 编程中,通常使用整数来保存 enum 的逻辑运算结果 (与.或.非.异或等),在进行逻辑运算的时候没有进行类型检查,一个枚举类型可以和其他的枚举类型进行逻辑运算,运算的结果可以直接传递 ...

  6. 中的枚举属性函数_软件特攻队|Qt中的反射机制之Q_PROPERTY

    接触过Java的同学肯定知道"反射"这一神器,而所谓的反射,指的是对于任意的一个类,即使在运行状态下,都能知道这个类的所有方法和属性,并可以动态调用这些方法的一种机制. 但是非常遗 ...

  7. Qt中事件过滤器eventFilter中所有枚举事件总结

    Qt中事件过滤器一般是用在继承QObject的类中,但是更多的是用在继承QWidget的界面类中.在界面类中,一般用的最多的是鼠标和键盘事件,包括鼠标摁下.移入.移除.拖拽等.一般在鼠标做出相应动作时 ...

  8. Qt中的枚举变量,Q_ENUM,Q_FLAG,Q_NAMESPACE,Q_ENUM_NS,Q_FLAG_NS以及其他

    Qt中的枚举变量,Q_ENUM,Q_FLAG,Q_NAMESPACE,Q_ENUM_NS,Q_FLAG_NS以及其他 前言 Q_ENUM的使用 Q_FLAG的引入解决什么问题? Q_NAMESPACE ...

  9. C++中运行一个程序的内存分配情况及qt中的内存管理机制

    一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) - 一 ...

最新文章

  1. mysql外键写了会怎么样_mysql使用外键会影响性能吗
  2. (0053)iOS开发之沙盒(sandbox)机制和文件操作(三)
  3. RuntimeError: An attempt has been made to start a new process before the current pr
  4. 嵌入式培训学习历程第三天
  5. JQuery 如何选择带有多个class的元素
  6. Google Chrome调试js代码
  7. 场景引擎是什么意思_初识ClickHouse、大数据多场景的热捧者
  8. android so导致启动慢,谈谈Android NDK中动态链接库(.so文件)的优化
  9. springmvc工作流程_springMVC工作原理及流程详细讲解
  10. Java API 中文版 谷歌翻译 拿走不谢 jdk api 1.8_google
  11. Java适配器模式(转接口)
  12. 计算机组成:真正理解单周期处理器的“数据通路”
  13. pacman使用介绍
  14. 介绍一些免费好用的静态网站托管服务
  15. Android编译gradle提示A problem occurred evaluating project ':example'.
  16. aardio - 利用bitLock快速读写图片颜色值
  17. linux服务器默认多久断开ssh,SSH超时自动断开问题解决
  18. IE无法上网,远程计算机或设备将不接受连接,其他浏览器可用
  19. Alibaba内部首发“M8级”微服务架构手册,GitHub上杀疯了
  20. 要么出众,要么出局 定制化让企业更出众

热门文章

  1. Flask rst 文档转换为html格式文件
  2. python 中的下划线
  3. 用 Linux 的 watch 命令观察命令和任务
  4. 如何在 bash 中使用键值字典
  5. c语言指针用法及实际应用详解,通俗易懂超详细!
  6. java jsp转html_JSP页面转换为HTML页面,动态转静态
  7. eclipse提示jre_给新手 Java 开发者的 7 点提示 | Linux 中国
  8. 【C语言】模拟实现库函数 strcpy(复制字符串内容) 与 strlen(求字符串长度)
  9. oracle与db2的应用场景区别,db2和oracle语句区别
  10. UVA699 下落的树叶 The Falling Leaves(二叉树的递归遍历建树)